2. Objectegoriënteerd werken en de SOLID-principes Flashcards
Wat zijn de SOLID-principes?
De SOLID-principes zijn een poging om een aantal basisprincipes voor goed objectgeoriënteerd ontwerp samen te brengen in een letterwoord dat in het geheugen blijft hangen.
Wat zijn de kenmerken van een object?
Een object heeft een:
+ identiteit (uniek).
+ toestand (attributen).
+ gedrag (methodes).
Wat is het doel van object-georiënteerd programmeren?
Object-oriëntering is ontstaan uit een nood aan onderhoudsvriendelijker en gemakkelijker te hergebruiken software.
Wat zijn de basisideeën van object-georiënteerd programmeren?
+ modulariteit
+ encapsulering
+ overerving
+ polymorfisme
Wat is modulariteit?
Ieder object is als het ware een bouwsteen. Een stuk software wordt opgebouwd uit die bouwstenen.
Wat zijn de voordelen van modulariteit?
Goed passende bouwstenen geven een stuk software een overzichtelijke structuur.
Goede bouwstenen zijn uitwisselbaar.
Die twee zaken maken software gemakkelijker te begrijpen en te onderhouden.
Wat is encapsulering?
Een goed object heeft een zichtbaar en verborgen deel.
Hoe wordt het zichtbare deel van een object genoemd?
interface
Wat is overerving?
Het is mogelijk een object af te leiden van een ander object.
Dat wil zeggen dat het afgeleide object de functionaliteit van het andere object overneemt, uitbreidt, of specialiseert.
Wat is polymorfisme?
Objecten met en gelijkaardige interface kunnen elkaars plaats innemen.
Hierdoor hoeft een object dat een functionaliteit nodig heeft van een ander object niet te weten welk concreet object dat is, zolang de functionaliteit er maar is.
Wat is het voordeel van polymorfisme?
Als programmeur moeten we niet vooraf zeggen welke concrete objecten welke taken zullen uitvoeren (early binding). We kunnen die keuze uitstellen tot het allerlaatste moment, namelijk de uitvoering van het programma (late binding).
Waarvoor staat het SOLID?
SOLID staat voor vijf principes: \+ Single purpose \+ Open/Closed \+ Liskov substitution \+ Interface segregation \+ Dependency inversion
Wat is het single purpose principle?
Elke klasse heeft 1 duidelijke verantwoordelijkheid.
Wat is het voordeel van het single purpose principle?
Als dit principe gevolgd wordt is het gemakkelijker om te begrijpen waar een klasse voor dient dan als een klasse die veel vage verantwoordelijkheden heeft.
Wat zijn aanwezingen dat een klasse het Single Purpose Principle volgt?
+ De klasse heeft een beperkte omvang.
+ De naam van de klasse maakt het doel duidelijk.
+ De klassen zijn gemakkelijk te ordenen in groepen.