De presentatielaag ....................................................................................................................................................... 23
De domeinlaag ............................................................................................................................................................. 24
De persistentielaag ...................................................................................................................................................... 24
TESTEN..................................................................................................................................................... 26
UNIT TESTEN .......................................................................................................................................................... 26
UP & TDD ..................................................................................................................................................................... 26
FIRST eigenschappen...................................................................................................................................... 26
Fast ............................................................................................................................................................................... 26
Isolated ........................................................................................................................................................................ 26
Repeatable ................................................................................................................................................................... 26
Self validating ............................................................................................................................................................... 26
Timely........................................................................................................................................................................... 26
Structuur ........................................................................................................................................................ 27
Voorbeeld .................................................................................................................................................................... 27
Ontwerp technieken ....................................................................................................................................... 27
Equivalentiepartities .................................................................................................................................................... 28
Grenswaarden.............................................................................................................................................................. 28
Equivalentiepartitionering en grenswaardenanalyse gaan hand in hand ................................................................... 28
@before ....................................................................................................................................................................... 29
PIJLERS VAN OO ....................................................................................................................................... 30
DE VIER PIJLERS VAN OO .......................................................................................................................................... 30
OVERERVING .......................................................................................................................................................... 30
POLYMORFISME ...................................................................................................................................................... 34
Kracht van polymorfisme: dynamische binding ............................................................................................. 34
Waarom polymorfisme? ................................................................................................................................ 35
ABSTRACTE KLASSEN ................................................................................................................................................ 36
Abstractie operatie ........................................................................................................................................ 36
Nut van een constructor in een abstracte klasse ........................................................................................... 37
INTERFACES ............................................................................................................................................................ 37
Voorbeeld ....................................................................................................................................................... 37
Gebruik van interfaces ................................................................................................................................... 38
Gebruik abstracte klasse – interface.............................................................................................................. 38
3
,Jakob Lierman OO Ontwerpen I
Klassen en objecten
Inleiding
Sleutelconcept: object
Real-world objecten:
kunnen onderscheiden worden
hebben eigenschappen
Kunnen benoemd worden, hebben een waarde (die kan veranderen)
hebben een gedrag
Omvat wat het object kan doen, kan eigenschappen veranderen via uitvoeren
Real-life objecten:
interactie tussen veranderende objecten
een object kan een ander object vragen om iets te doen
Abstractie is essentieel
Via abstractie ontstaan soorten of types van objecten
Soortgelijke objecten hebben dezelfde eigenschappen en hetzelfde gedrag
Sleutelconcept: klasse
Bevat de omschrijving van de eigenschappen en het gedrag van soortgelijke objecten
Een object is een instantie van een klasse: Horloge1 is een instantie van PolsHorloge
Tijdens ontwikkeling van software worden de klassen ontworpen, tijdens de uitvoering ervan komen
de objecten tot leven.
Objecten
Alles is een object, een object wordt beschreven door een klasse, een object is een instantie van een
klasse
Elk object heeft een toestand, een gedrag en een identiteit
Een applicatie bestaat uit objecten die samenwerken, tussen die objecten zijn er dus relaties
Toestand van een object
Omvat alle eigenschappen en de huidige waarde van deze eigenschappen van het object
Toestand evolueert mogelijks met de tijd
Toestand kan gewijzigd of opgevraagd worden
Toestand verschilt mogelijks van object tot object
Is omschreven in zijn klasse
Elke eigenschap wordt voorgesteld door een attribuut, bestaande uit een naam en een typen
Gedrag van een object
Gedrag is wat het object kan doen
Objecten sturen en ontvangen boodschappen van andere objecten, waarna er een gedrag wordt
uitgevoerd
Elke dienst die een object aanbiedt wordt omschreven via een methode
4
, Jakob Lierman OO Ontwerpen I
Een klasse bevat de opsomming van alle methodes
Het gedrag wordt gecodeerd en niet getoond in de klasse
Een methode heeft een naam, eventuele parameter(s), een eventueel returntype en een code die
de reactie beschrijft
Vier soorten operaties
Constructors: objecten aanmaken
Setters: eigenschappen van objecten veranderen
Getters: eigenschappen van objecten opvragen
Acties: andere acties op objecten uitvoeren
Identiteit van een object
Maakt het mogelijk om objecten van elkaar te onderscheiden
Twee objecten met dezelfde eigenschappen blijven uniek
Relaties tussen objecten
Interactie tussen objecten is enkel mogelijk als objecten elkaar kennen en worden gerealiseerd door
relaties tussen objecten
Verantwoordelijkheid van een object
Elk object draagt deels verantwoordelijkheid voor het geheel
5
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
√ Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, Bancontact of creditcard voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper jakoblierman. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €3,99. Je zit daarna nergens aan vast.