Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 048280cc5c | |||
| 0562a7d608 |
@@ -142,3 +142,32 @@ Probeer dingen functioneel op te zetten, zoals dat in racket zou werken.
|
||||
- Triviale getters, setters en lokale callbacks hoeven niet afzonderlijk
|
||||
gedocumenteerd te worden wanneer hun werking direct duidelijk is.
|
||||
|
||||
# Architectuurprincipes
|
||||
|
||||
## MVC patroon
|
||||
|
||||
Over het algemeen zal bij het bouwen van de javascript code van een website
|
||||
gebruik moeten worden gemaakt van het Model-View-Controller principe.
|
||||
|
||||
Een model bestaat uit de de interne data-representatie van gegevens en heeft
|
||||
ook als verantwoordelijkheid om de opslag ervan richting een server backend
|
||||
resp. import/export ervan te regelen.
|
||||
|
||||
Op het model worden views gemaakt. Die views presenteren het model naar een
|
||||
gegeven situatie en maken het ook mogelijk om te interacteren met het model.
|
||||
|
||||
De controller zorgt koppelt de model-logica en de view-logica aan elkaar en
|
||||
bevat business rules t.a.v. het presenteren en bewerken van de model logica.
|
||||
|
||||
## Encapsulatie
|
||||
|
||||
Classes, closures en modules hebben hun eigen interne wereld en een publieke
|
||||
method/functie-interfaces. Rechtstreeks manipulatie van class/closure/module
|
||||
gegevens is verboden.
|
||||
|
||||
## Separation of concerns
|
||||
|
||||
Scheid verschillende verantwoordelijkheden in afzonderlijke onderdelen
|
||||
en voorkom dat één onderdeel meerdere, onderling onafhankelijke concerns
|
||||
door elkaar heen behandelt.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user