,Inhoudsopgave
STRATEGY PATTERN...................................................................3
SIMPLE FACTORY PATTERN (FACTORY PATTERN).........................7
SIMPLE FACTORY FUNCTIONAL PROGRAMMING......................................................9
OBSERVER PATTERN................................................................10
FAÇADE PATTERN....................................................................15
DECORATOR PATTERN..............................................................17
STATE PATTERN.......................................................................20
MVC (MODEL-VIEW-CONTROLLER).............................................24
FACADE......................................................................................................24
STRATEGY...................................................................................................25
OBSERVER..................................................................................................25
COMPOSITE.................................................................................................26
JUNIT......................................................................................27
OO ONTWERPEN II
SAMENVATTING
CHELSEA
HOGENT – TOEGEPASTE INFORMATICA
Jaar 2 – semester 1
, Voorbeeld deel 1...................................................................................27
TEST CASE..................................................................................................28
Voorbeeld deel 2...................................................................................28
STATIC METHODEN IN KLASSE ASSERTIONS........................................................29
TEST METHODEN – TIPS.................................................................................30
TEKST-FIXTURE............................................................................................30
WAT TE TESTEN...........................................................................................31
TESTEN OP EXCEPTIONS.................................................................................32
PARAMETERIZED TEST...................................................................................34
Voorbeeld Rekenmachine.....................................................................34
Voorbeeld: ongeldige titels -> IllegalArgumentException....................35
Opsomming gebruiken voor meerdere parameterized testmethoden..36
Alle soorten parameterized testen........................................................36
MOCKITO................................................................................. 37
UNIT TESTING MET MOCK OBJECTEN.................................................................37
MOCK FRAMEWORKS.....................................................................................42
, Design patterns
Strategy pattern
Waarom?
Om varierend gedrag eruit te halen
Niet elke subklasse moet hetzelfde gedrag hebben dus is overerving
GEEN oplossing!
Code die verschilt halen we eruit, zo zijn de vaste en variabele codes
gescheiden.
Voorbeeld:
Eenden: niet alle eenden vliegen op dezelfde manier. Sommige
vliegen bijvoorbeeld niet, dus hun vlieggedrag varieert. We halen dit
er dus uit.
Programmeer naar een interface niet naar een implementatie!
o Voor ieder gedrag een interface
Stappen:
1. Maak een interface en plaats het gedrag hierin.
2. Maak de implementatieklassen, zet het gedrag hierin, stippellijnen
tekenen.
3. De client klasse bevat de interface: pijl tekenen naar de interface.
4. In de client schrijven we
a. De injectie: op het examen is de meest eenvoudige manier
voldoende: dus een setter
b. Het gedrag
c. Bij de Duck moeten we ook een private property plaatsen van
het gedrag dus in UML: <<Property>> -FlyBehavior :
flyBehavior
OPGELET: Duck wordt abstract!
UML
3
1
4
Hier komen dan de
subklassen dus de
soorten eenden
met een
generalisatie pijl 2
(driehoekpijl)
Code
STRATEGY PATTERN...................................................................3
SIMPLE FACTORY PATTERN (FACTORY PATTERN).........................7
SIMPLE FACTORY FUNCTIONAL PROGRAMMING......................................................9
OBSERVER PATTERN................................................................10
FAÇADE PATTERN....................................................................15
DECORATOR PATTERN..............................................................17
STATE PATTERN.......................................................................20
MVC (MODEL-VIEW-CONTROLLER).............................................24
FACADE......................................................................................................24
STRATEGY...................................................................................................25
OBSERVER..................................................................................................25
COMPOSITE.................................................................................................26
JUNIT......................................................................................27
OO ONTWERPEN II
SAMENVATTING
CHELSEA
HOGENT – TOEGEPASTE INFORMATICA
Jaar 2 – semester 1
, Voorbeeld deel 1...................................................................................27
TEST CASE..................................................................................................28
Voorbeeld deel 2...................................................................................28
STATIC METHODEN IN KLASSE ASSERTIONS........................................................29
TEST METHODEN – TIPS.................................................................................30
TEKST-FIXTURE............................................................................................30
WAT TE TESTEN...........................................................................................31
TESTEN OP EXCEPTIONS.................................................................................32
PARAMETERIZED TEST...................................................................................34
Voorbeeld Rekenmachine.....................................................................34
Voorbeeld: ongeldige titels -> IllegalArgumentException....................35
Opsomming gebruiken voor meerdere parameterized testmethoden..36
Alle soorten parameterized testen........................................................36
MOCKITO................................................................................. 37
UNIT TESTING MET MOCK OBJECTEN.................................................................37
MOCK FRAMEWORKS.....................................................................................42
, Design patterns
Strategy pattern
Waarom?
Om varierend gedrag eruit te halen
Niet elke subklasse moet hetzelfde gedrag hebben dus is overerving
GEEN oplossing!
Code die verschilt halen we eruit, zo zijn de vaste en variabele codes
gescheiden.
Voorbeeld:
Eenden: niet alle eenden vliegen op dezelfde manier. Sommige
vliegen bijvoorbeeld niet, dus hun vlieggedrag varieert. We halen dit
er dus uit.
Programmeer naar een interface niet naar een implementatie!
o Voor ieder gedrag een interface
Stappen:
1. Maak een interface en plaats het gedrag hierin.
2. Maak de implementatieklassen, zet het gedrag hierin, stippellijnen
tekenen.
3. De client klasse bevat de interface: pijl tekenen naar de interface.
4. In de client schrijven we
a. De injectie: op het examen is de meest eenvoudige manier
voldoende: dus een setter
b. Het gedrag
c. Bij de Duck moeten we ook een private property plaatsen van
het gedrag dus in UML: <<Property>> -FlyBehavior :
flyBehavior
OPGELET: Duck wordt abstract!
UML
3
1
4
Hier komen dan de
subklassen dus de
soorten eenden
met een
generalisatie pijl 2
(driehoekpijl)
Code