Layer Model

compared with
Current by Rody Middelkoop
on Feb 19, 2010 21:15.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (10)

View page history
Een van de design patterns om te komen tot onderhoudbare software is het layer pattern. Hieronder volgt een voorbeeld van een toepassing van het pattern in de GAMS applicatie:

Het lagenmodel bestaat uit 4 tot 6 lagen.

Als eerste laag hebben we de *presentatielaag*, dit is de User Interface.
Deze laag moet gesplitst worden voor client en server.

Als tweede komt de *businesslaag*, hierin worden gegevens benaderd die worden verzameld uit meerdere classes van het domeinmodel.
Daarnaast worden in deze laag ook de business rules vastgelegd.
# Als eerste laag hebben we de *presentatielaag*, dit is de User Interface.Deze laag moet gesplitst worden voor client en server.
# De eerste optionele laag kan tussen de prestatielaag en de businesslaag worden gezet, en deze laag heet de *servicelaag*. Deze laag wordt gebruikt om gegevens van de presentatielaag naar de business laag te sturen via het http protocol.
# Vervolgens komt de *businesslaag*, hierin worden gegevens benaderd die worden verzameld uit meerdere classes van het domeinmodel.Daarnaast worden in deze laag ook de business rules vastgelegd.
# De tweede optionele laag kan tussen de domeinlaag en de datalaag worden gevoegd, en heet de *dataAccesslaag*. Deze laag wordt gebruikt om de data die van het domeinmodel binnenkomt door te geven aan de database, en ze op de juiste plaats op te slaan.
# Als derde laag bevindt zich in het lagenmodel de *domeinlaag*, waar alle classes zich bevinden en waar deze ook aangeroepen kunnen worden. In deze laag worden ook de validaties van de velden vastgelegd.
# De vierde laag in het lagenmodel is de *datalaag*, hierin wordt alle data opgeslagen.

Als derde laag bevindt zich in het lagenmodel de *domeinlaag*, waar alle classes zich bevinden en waar deze ook aangeroepen kunnen worden. In deze laag worden ook de validaties van de velden vastgelegd.

De vierde laag in het lagenmodel is de *datalaag*, hierin wordt alle data opgeslagen.

Tussen deze vier basis lagen kunnen er eventueel twee extra lagen toe worden gevoegd.

De eerste optionele laag kan tussen de prestatielaag en de businesslaag worden gezet, en deze laag heet de *servicelaag*. Deze laag wordt gebruikt om gegevens van de presentatielaag naar de business laag te sturen via het http protocol.

De tweede optionele laag kan tussen de domeinlaag en de datalaag worden gevoegd, en heet de *dataAccesslaag*. Deze laag wordt gebruikt om de data die van het domeinmodel binnenkomt door te geven aan de database, en ze op de juiste plaatst op te slaan.

!lagenmodel.png|border=1!

h2. Voorbeeld projecttoepassing.

In het project GAMS van projectgroep HANWorks wordt gebruikt gemaakt van een lagenmodel. In de backend van de applicatie is dit goed terug te zien:
In de backend van de applicatie is dit goed terug te zien:

!lagenapp.png|border=1!

De laag Presentatie is gerealiseerd in Adobe Flex, en de laag Data staat voor de database van de applicatie,
en zijn niet in dit plaatje te zien.