Geschreven door studenten die geslaagd zijn Direct beschikbaar na je betaling Online lezen of als PDF Verkeerd document? Gratis ruilen 4,6 TrustPilot
logo-home
Samenvatting

Samenvatting Creational/Structural/Behavioral Patterns

Beoordeling
-
Verkocht
-
Pagina's
7
Geüpload op
04-01-2020
Geschreven in
2019/2020

Samenvatting over alle 3 de soorten design patterns: Creational (Factory, Builder, Singleton, Prototype), Structural (Facade, Adapter, Composite, Decorator) en Behavioral (Interpreter, Iterator, template method, Strategy, Observer en Command). Alle participants, voordelen en nadelen, structuren en beschrijvingen op een rijtje.

Meer zien Lees minder

Voorbeeld van de inhoud

PAFR Les 4 - Design Patterns
Design patterns: te implementeren standaardoplossingen voor bepaalde ontwerp problemen
die vaker voorkomen binnen een bepaalde context (abstract/conceptueel)
Frameworks / libraries: hergebruik van bestaande code die voorziet in één functionaliteit
(concreet / implementatie-specifiek)

Gebruik niet voor alles een pattern, laat je leiden door design principes en verbeter met
patterns.

Soorten design patterns:
• Creational patterns
Het maken van objecten en de mogelijkheid bieden om een client te ontkoppelen van de
objecten die hij moet maken.
• Structural patterns
Geven de mogelijkheid om klassen/objecten in grote structuren onder te brengen en te
organiseren in een samenhangend geheel.
• Behavioral patterns
Houden zich bezig met hoe klassen samenwerken en hun verantwoordelijkheid delen voor een
samenhangend geheel.


Creational patterns
Factory method
Bedoeling:
- Objecten aanmaken zonder te hoeven specificeren welke concrete klasse wordt gecreëerd
- (Sub)klassen of implementaties instantiëren tijdens runtime, waarbij de klassen en parameters
kunnen variëren

Stel dat we een pizza bezorgservice hebben. Voor elke soort delivery hebben we een apart
object (deliveryByBike, deliveryByFoot). Bij bezorgen binnen 500m doen we dit lopend, bij
bezorgen binnen 3000m doen we dit met de fiets.

Stel dat we nu een bezorgwijze willen
Delivery delivery; toevoegen, zoals DeliveryByCar.
Of, we de manier van bezorgen willen
if (distance <= 500) { baseren op iets anders dan de afstand.
delivery = new DeliveryOnFoot();
} else if (distance <= 3000) {
Dan heeft deze client class te veel
delivery = new DeliveryByBicycle();
} else { redenen om te veranderen. Dit schendt
System.out.println(“Distances exceeding 3000m het Single Responsibility Principle.
are not supported”);
Encapsulate what varies, in dit geval is
dat dus het aanmaken van objecten.




Jet Wardenier 28/12

, Oplossing:
Biedt een interface aan om objecten te creëren, maar laat subklassen of implementaties
beslissen welke klassen geïnstantieerd moeten worden en hoe.
Subklassen instantiëren tijdens runtime, waarbij de klassen en parameters kunnen
variëren
‘Product’ objecten maken zonder hun concrete klassen te specificeren


public class Main{
DeliveryFactory factory = new DistanceBasedDeliveryFactory(distance);
Delivery delivery = factor.createDelivery(); }


public class DistanceBasedDeliveryFactory implements DeliveryFactory{
private int distance;

public DistanceBasedDeliveryFactory(int distance){
this.distance = distance;
}
public delivery createDelivery(){
if (distance <= 500) {
return new DeliveryOnFoot();
}
if (distance <= 3000) {
return new DeliveryByBicycle();
}
return new DeliveryByCar();
}
}




inheritance/implementatie




1 factory per concreet product




Jet Wardenier 28/12

Documentinformatie

Geüpload op
4 januari 2020
Aantal pagina's
7
Geschreven in
2019/2020
Type
SAMENVATTING

Onderwerpen

€4,99
Krijg toegang tot het volledige document:

Verkeerd document? Gratis ruilen Binnen 14 dagen na aankoop en voor het downloaden kun je een ander document kiezen. Je kunt het bedrag gewoon opnieuw besteden.
Geschreven door studenten die geslaagd zijn
Direct beschikbaar na je betaling
Online lezen of als PDF

Maak kennis met de verkoper

Seller avatar
De reputatie van een verkoper is gebaseerd op het aantal documenten dat iemand tegen betaling verkocht heeft en de beoordelingen die voor die items ontvangen zijn. Er zijn drie niveau’s te onderscheiden: brons, zilver en goud. Hoe beter de reputatie, hoe meer de kwaliteit van zijn of haar werk te vertrouwen is.
jetwardenier Hogeschool Utrecht
Bekijk profiel
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
26
Lid sinds
6 jaar
Aantal volgers
16
Documenten
34
Laatst verkocht
2 jaar geleden

3,3

8 beoordelingen

5
2
4
2
3
2
2
0
1
2

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo makkelijk kan het dus zijn.”

Alisha Student

Bezig met je bronvermelding?

Maak nauwkeurige citaten in APA, MLA en Harvard met onze gratis bronnengenerator.

Bezig met je bronvermelding?

Veelgestelde vragen