1
Samenvatting ASDI
Samenvatting ASDI......................................................................................................................1
Design Patterns...........................................................................................................................5
Strategy Pattern......................................................................................................................................5
Nut Strategy Pattern.......................................................................................................................5
Voorbeeld eenden..........................................................................................................................5
Stappenplan....................................................................................................................................5
Stappenplan code...........................................................................................................................7
Simple Factory Pattern...........................................................................................................................8
Nut..................................................................................................................................................8
Voorbeeld pizza..............................................................................................................................8
Stappenplan....................................................................................................................................8
Stappenplan code...........................................................................................................................9
Factory pattern – functional programming...........................................................................................10
Klasse PizzaFactory – refactoring..................................................................................................10
code..............................................................................................................................................10
Decorator Pattern.................................................................................................................................11
Nut................................................................................................................................................11
Voorbeeld koffie...........................................................................................................................11
Stappenplan..................................................................................................................................12
Stappenplan code.........................................................................................................................12
Observer Pattern..................................................................................................................................14
Nut................................................................................................................................................14
Voorbeeld weerstation.................................................................................................................15
Stappenplan..................................................................................................................................16
Stappenplan code.........................................................................................................................16
State Pattern.........................................................................................................................................18
Nut................................................................................................................................................18
Voorbeeld shikkenbak..................................................................................................................18
Stappenplan..................................................................................................................................19
Stappenplan code.........................................................................................................................19
Facade Pattern......................................................................................................................................21
Nut................................................................................................................................................21
Voorbeeld home theater..............................................................................................................21
Stappenplan..................................................................................................................................21
, 2
Stappenplan code.........................................................................................................................21
MVC – Model-View-Controller.............................................................................................................22
Nut................................................................................................................................................22
Voorbeeld.....................................................................................................................................22
Stappenplan..................................................................................................................................22
Stappenplan code.........................................................................................................................22
Test Driven Development.........................................................................................................24
TDD.......................................................................................................................................................24
Nut TDD........................................................................................................................................24
TDD workflow...............................................................................................................................24
Test first programming.................................................................................................................24
Junit......................................................................................................................................................25
Stappenplan..................................................................................................................................25
Voorbeeld.....................................................................................................................................25
Wat testen? (algemeen)...............................................................................................................26
Wat testen? (verzamelingen).......................................................................................................26
Wat testen? (Strings)....................................................................................................................26
Static-methoden in de klasse Assertions......................................................................................28
@Test methoden: tips..................................................................................................................28
Test Fixtures.................................................................................................................................28
Parameterized Test.......................................................................................................................30
Parameterized Test – voorbeeld csv source.................................................................................30
Parameterized Test – voorbeeld nullandemptysource.................................................................30
Parameterized Test – voorbeeld methodsource...........................................................................31
Mockito................................................................................................................................................33
Mock.............................................................................................................................................33
Voorbeeld LandService.................................................................................................................33
Unit tesing with Mock Objects..............................................................................................................37
Dependencies...............................................................................................................................37
Mock object..................................................................................................................................37
Dependency injection..................................................................................................................37
Testen met mocks.........................................................................................................................38
JAVA..........................................................................................................................................39
Collections & Streams...........................................................................................................................39
Het collection framework (algemeen ig?).........................................................................................39
Map implementaties........................................................................................................................41
, 3
Map..............................................................................................................................................42
Map.entry<K,V>............................................................................................................................43
Wrappers..........................................................................................................................................43
Synchronized wrapper..................................................................................................................43
Unmodifiable wrapper..................................................................................................................43
Checked wrapper..........................................................................................................................43
Generics................................................................................................................................................45
Inleiding............................................................................................................................................45
Generieke methoden........................................................................................................................45
Voorbeeld.....................................................................................................................................45
Upperbound en return type en.....................................................................................................45
Overloaded generieke methoden.................................................................................................46
Generieke klassen.............................................................................................................................46
Voorbeeld.....................................................................................................................................46
Wildcards......................................................................................................................................46
Lowerbounds................................................................................................................................46
Overerving....................................................................................................................................46
MVC - Observer Pattern........................................................................................................................48
MVC..................................................................................................................................................48
MVC – architectuur.......................................................................................................................48
Observer-patroon.............................................................................................................................48
Voorbeeld.....................................................................................................................................48
Netwerken............................................................................................................................................49
Inleiding............................................................................................................................................49
Netwerkmogelijkheden................................................................................................................49
Client – server...............................................................................................................................49
Overig...........................................................................................................................................49
Socket-programmeren met TCP.......................................................................................................49
......................................................................................................................................................49
Server met Stream sockets opzetten............................................................................................50
Client met Stream Sockets opzetten.............................................................................................50
Opmerkingen................................................................................................................................50
Connectieloze transmissie met datagrammen.................................................................................51
Methods.......................................................................................................................................51
Opzetten (zelfde proces client als server).....................................................................................51
, 4
Samenvatting ASDI
Samenvatting ASDI......................................................................................................................1
Design Patterns...........................................................................................................................5
Strategy Pattern......................................................................................................................................5
Nut Strategy Pattern.......................................................................................................................5
Voorbeeld eenden..........................................................................................................................5
Stappenplan....................................................................................................................................5
Stappenplan code...........................................................................................................................7
Simple Factory Pattern...........................................................................................................................8
Nut..................................................................................................................................................8
Voorbeeld pizza..............................................................................................................................8
Stappenplan....................................................................................................................................8
Stappenplan code...........................................................................................................................9
Factory pattern – functional programming...........................................................................................10
Klasse PizzaFactory – refactoring..................................................................................................10
code..............................................................................................................................................10
Decorator Pattern.................................................................................................................................11
Nut................................................................................................................................................11
Voorbeeld koffie...........................................................................................................................11
Stappenplan..................................................................................................................................12
Stappenplan code.........................................................................................................................12
Observer Pattern..................................................................................................................................14
Nut................................................................................................................................................14
Voorbeeld weerstation.................................................................................................................15
Stappenplan..................................................................................................................................16
Stappenplan code.........................................................................................................................16
State Pattern.........................................................................................................................................18
Nut................................................................................................................................................18
Voorbeeld shikkenbak..................................................................................................................18
Stappenplan..................................................................................................................................19
Stappenplan code.........................................................................................................................19
Facade Pattern......................................................................................................................................21
Nut................................................................................................................................................21
Voorbeeld home theater..............................................................................................................21
Stappenplan..................................................................................................................................21
, 2
Stappenplan code.........................................................................................................................21
MVC – Model-View-Controller.............................................................................................................22
Nut................................................................................................................................................22
Voorbeeld.....................................................................................................................................22
Stappenplan..................................................................................................................................22
Stappenplan code.........................................................................................................................22
Test Driven Development.........................................................................................................24
TDD.......................................................................................................................................................24
Nut TDD........................................................................................................................................24
TDD workflow...............................................................................................................................24
Test first programming.................................................................................................................24
Junit......................................................................................................................................................25
Stappenplan..................................................................................................................................25
Voorbeeld.....................................................................................................................................25
Wat testen? (algemeen)...............................................................................................................26
Wat testen? (verzamelingen).......................................................................................................26
Wat testen? (Strings)....................................................................................................................26
Static-methoden in de klasse Assertions......................................................................................28
@Test methoden: tips..................................................................................................................28
Test Fixtures.................................................................................................................................28
Parameterized Test.......................................................................................................................30
Parameterized Test – voorbeeld csv source.................................................................................30
Parameterized Test – voorbeeld nullandemptysource.................................................................30
Parameterized Test – voorbeeld methodsource...........................................................................31
Mockito................................................................................................................................................33
Mock.............................................................................................................................................33
Voorbeeld LandService.................................................................................................................33
Unit tesing with Mock Objects..............................................................................................................37
Dependencies...............................................................................................................................37
Mock object..................................................................................................................................37
Dependency injection..................................................................................................................37
Testen met mocks.........................................................................................................................38
JAVA..........................................................................................................................................39
Collections & Streams...........................................................................................................................39
Het collection framework (algemeen ig?).........................................................................................39
Map implementaties........................................................................................................................41
, 3
Map..............................................................................................................................................42
Map.entry<K,V>............................................................................................................................43
Wrappers..........................................................................................................................................43
Synchronized wrapper..................................................................................................................43
Unmodifiable wrapper..................................................................................................................43
Checked wrapper..........................................................................................................................43
Generics................................................................................................................................................45
Inleiding............................................................................................................................................45
Generieke methoden........................................................................................................................45
Voorbeeld.....................................................................................................................................45
Upperbound en return type en.....................................................................................................45
Overloaded generieke methoden.................................................................................................46
Generieke klassen.............................................................................................................................46
Voorbeeld.....................................................................................................................................46
Wildcards......................................................................................................................................46
Lowerbounds................................................................................................................................46
Overerving....................................................................................................................................46
MVC - Observer Pattern........................................................................................................................48
MVC..................................................................................................................................................48
MVC – architectuur.......................................................................................................................48
Observer-patroon.............................................................................................................................48
Voorbeeld.....................................................................................................................................48
Netwerken............................................................................................................................................49
Inleiding............................................................................................................................................49
Netwerkmogelijkheden................................................................................................................49
Client – server...............................................................................................................................49
Overig...........................................................................................................................................49
Socket-programmeren met TCP.......................................................................................................49
......................................................................................................................................................49
Server met Stream sockets opzetten............................................................................................50
Client met Stream Sockets opzetten.............................................................................................50
Opmerkingen................................................................................................................................50
Connectieloze transmissie met datagrammen.................................................................................51
Methods.......................................................................................................................................51
Opzetten (zelfde proces client als server).....................................................................................51
, 4