Software Architectuur¶
Software architectuur is het ontwerp van hoe verschillende onderdelen van een applicatie met elkaar samenwerken. Je denkt na over welke componenten je nodig hebt, hoe ze met elkaar communiceren, en hoe je alles zo bouwt dat het onderhoudbaar, schaalbaar en betrouwbaar is. Het is als het maken van een bouwtekening, maar dan voor software.
Voor dit product kies je een Design Pattern en beschrijf je hoe je deze hebt geïmplementeerd in je project.
Design Patterns¶
Design patterns zijn bewezen oplossingen voor veelvoorkomende programmeerproblemen. Ze zijn geen kant-en-klare code die je kopieert, maar eerder een sjabloon of blauwdruk die je kunt aanpassen aan jouw specifieke situatie. Net zoals een architect standaard bouwmethoden gebruikt voor deuren en ramen, gebruiken programmeurs design patterns om code overzichtelijk, onderhoudbaar en herbruikbaar te maken.
Design patterns worden traditioneel ingedeeld in drie categorieën:
- Creational Patterns (hoe je objecten maakt, zoals Factory Pattern, Singleton Pattern, Builder Pattern, Prototype Pattern)
- Structural Patterns (hoe je verschillende delen van je code samenvoegt, zoals Adapter Pattern),
- Behavioral Patterns (hoe objecten met elkaar communiceren, zoals Observer Pattern, Strategy Pattern, Template Method Pattern, Visitor Pattern). Voor web development zijn patterns zoals MVC (Model-View-Controller), Repository Pattern en Singleton Pattern bijzonder nuttig.
Design Patterns zijn niet taal-specifiek, je kan ze in verschillende talen gebruiken.
Om meer te weten te komen over Design Patterns, kan je de volgende bron raadplegen:
Kwaliteitsindicatoren¶
Bij het waarderen van dit product zal er worden gekeken naar de volgende kwaliteitsindicatoren:
- De Software Architectuur is een op zichzelf staand document wat begint met een introductie/contextuele tekst, en vervolgens de verschillende onderdelen van de software architectuur beschrijft.
- Er is een Design Pattern gekozen en beschreven waarom dit pattern geschikt is voor het project.
- Er is een duidelijke beschrijving opgenomen van hoe het Design Pattern is geïmplementeerd in het project.
- Er is een visueel overzicht opgenomen (bijvoorbeeld een diagram) waarin de software architectuur wordt weergegeven.
- Er wordt rekening gehouden met performance, schaalbaarheid en onderhoudbaarheid in de architectuurkeuzes.
- Er is code opgenomen in het document waarin het Design Pattern wordt gedemonstreerd. Deze code is goed leesbaar en volgt de conventies voor code schrijven.
- Er zijn referenties naar de code in GitLab opgenomen waarin het Design Pattern is geïmplementeerd.
- Er is een lijst van bronnen opgenomen in het document waarin je de bronnen die je hebt gebruikt om de software architectuur te ontwerpen en te implementeren beschrijft.
Template¶
Om zelf een software architectuur te maken, kan je gebruik maken van de volgende template:
# Software Architectuur
In dit onderdeel beschrijf je in een paar zinnen wat de software architectuur inhoudt en welk probleem het oplost. Dit is de hoofdtekst van je document.
## Design Pattern Keuze
Hier beschrijf je welk Design Pattern je hebt gekozen en waarom dit pattern geschikt is voor jouw project. Leg uit welke problemen dit pattern oplost en hoe het bijdraagt aan de onderhoudbaarheid, schaalbaarheid en betrouwbaarheid van je applicatie.
## Architectuur Overzicht
Hier voeg je een visueel overzicht toe (bijvoorbeeld een diagram) waarin je de software architectuur weergeeft. Dit helpt anderen om te begrijpen hoe de verschillende componenten met elkaar samenwerken.
## Implementatie
Hier beschrijf je hoe je het Design Pattern hebt geïmplementeerd in je project. Leg uit welke keuzes je hebt gemaakt en waarom. Plaats hier vooral referenties naar de code in GitLab en gebruik je code snippets om de implementatie te beschrijven.
## Bronnen
Plaats hier een lijst van bronnen die je hebt gebruikt om de software architectuur te ontwerpen en te implementeren. Denk aan youtube videos, websites, boeken, enzovoort.
Ook bronnen die je hebben geholpen met het schrijven van de code.