3-Software Design
Table of Contents
UML (Unified Modelling Language)...................................................................................................3
Voordelen.........................................................................................................................................3
Soorten.............................................................................................................................................3
Gebruik............................................................................................................................................3
Soorten variabelen in een class.............................................................................................................3
OOP......................................................................................................................................................4
Soorten relaties.....................................................................................................................................4
Use Case Diagrams...............................................................................................................................5
Bestaat uit........................................................................................................................................5
Relaties.............................................................................................................................................5
Sequentie diagrammen.........................................................................................................................6
Bestaat uit........................................................................................................................................6
Patterns.................................................................................................................................................7
Startegy Pattern................................................................................................................................8
Used in........................................................................................................................................8
Observe Pattern................................................................................................................................9
Publisher:....................................................................................................................................9
Subscriber:..................................................................................................................................9
Used in........................................................................................................................................9
Decorator Pattern...........................................................................................................................10
Used in......................................................................................................................................10
Singleton........................................................................................................................................11
Used in.......................................................................................................................................11
Factory Pattern...............................................................................................................................12
Used in......................................................................................................................................12
Command Pattern..........................................................................................................................13
Used in......................................................................................................................................13
Adapter pattern..............................................................................................................................14
Soorten......................................................................................................................................14
Object Adapter......................................................................................................................14
Class Adapter........................................................................................................................14
Used in......................................................................................................................................14
Facade Pattern................................................................................................................................15
Used in.....................................................................................................................................15
Proxy pattern..................................................................................................................................16
Types.........................................................................................................................................16
Iterator Pattern...............................................................................................................................17
Types.........................................................................................................................................17
Uses...........................................................................................................................................17
Composite Pattern.........................................................................................................................18
Uses...........................................................................................................................................18
State Pattern...................................................................................................................................19
Uses...........................................................................................................................................19
Template Method Pattern...............................................................................................................20
1
, Uses...........................................................................................................................................20
SOLID Principles...............................................................................................................................21
https://refactoring.guru/design-patterns/composite Goede site
2
, UML (Unified Modelling Language)
Een visuele representatie van een software design.
Voordelen
• Georganiseerde code
• gemakkelijk debuggen (Snel de oorzaak vinden)
• flexibel onderhoud (Maar een klein deeltje aanpassen)
• Minder errors tijdens programmeren
Soorten
• Use case diagram → Hoe iets werkt met een gebruiker
• Structural/ class diagram → definieert de opbouw van een design
• Dynamic (sequence) diagram → Hoe objecten met elkaar praten
Gebruik
• Om een groot software systeem te schetsen
• Om de source code van een groot project te begrijpen
• Om source code te genereren van een diagram
Soorten variabelen in een class
- private
+ public
# protected
~ package/ default
3
Table of Contents
UML (Unified Modelling Language)...................................................................................................3
Voordelen.........................................................................................................................................3
Soorten.............................................................................................................................................3
Gebruik............................................................................................................................................3
Soorten variabelen in een class.............................................................................................................3
OOP......................................................................................................................................................4
Soorten relaties.....................................................................................................................................4
Use Case Diagrams...............................................................................................................................5
Bestaat uit........................................................................................................................................5
Relaties.............................................................................................................................................5
Sequentie diagrammen.........................................................................................................................6
Bestaat uit........................................................................................................................................6
Patterns.................................................................................................................................................7
Startegy Pattern................................................................................................................................8
Used in........................................................................................................................................8
Observe Pattern................................................................................................................................9
Publisher:....................................................................................................................................9
Subscriber:..................................................................................................................................9
Used in........................................................................................................................................9
Decorator Pattern...........................................................................................................................10
Used in......................................................................................................................................10
Singleton........................................................................................................................................11
Used in.......................................................................................................................................11
Factory Pattern...............................................................................................................................12
Used in......................................................................................................................................12
Command Pattern..........................................................................................................................13
Used in......................................................................................................................................13
Adapter pattern..............................................................................................................................14
Soorten......................................................................................................................................14
Object Adapter......................................................................................................................14
Class Adapter........................................................................................................................14
Used in......................................................................................................................................14
Facade Pattern................................................................................................................................15
Used in.....................................................................................................................................15
Proxy pattern..................................................................................................................................16
Types.........................................................................................................................................16
Iterator Pattern...............................................................................................................................17
Types.........................................................................................................................................17
Uses...........................................................................................................................................17
Composite Pattern.........................................................................................................................18
Uses...........................................................................................................................................18
State Pattern...................................................................................................................................19
Uses...........................................................................................................................................19
Template Method Pattern...............................................................................................................20
1
, Uses...........................................................................................................................................20
SOLID Principles...............................................................................................................................21
https://refactoring.guru/design-patterns/composite Goede site
2
, UML (Unified Modelling Language)
Een visuele representatie van een software design.
Voordelen
• Georganiseerde code
• gemakkelijk debuggen (Snel de oorzaak vinden)
• flexibel onderhoud (Maar een klein deeltje aanpassen)
• Minder errors tijdens programmeren
Soorten
• Use case diagram → Hoe iets werkt met een gebruiker
• Structural/ class diagram → definieert de opbouw van een design
• Dynamic (sequence) diagram → Hoe objecten met elkaar praten
Gebruik
• Om een groot software systeem te schetsen
• Om de source code van een groot project te begrijpen
• Om source code te genereren van een diagram
Soorten variabelen in een class
- private
+ public
# protected
~ package/ default
3