Stel ik heb een applicatie met de volgende lagen:
User Interface
Proceslaag
Business Logicalaag
Datalaag
In de Business Logiclaag zitten mijn businessobjects, bijvoorbeeld: dossier. Een dossier kan aangemaakt worden, verstuurd worden, behandeld worden etc.
Dit object komt via de proceslaag uit bij de UI, alwaar informatie uit het object op het scherm wordt getoond.
Als ik vanaf de UI een dossier wil aanmaken, moet ik dat via de proceslaag doen, zodat de proceslaag bijvoorbeeld kan controleren of de gebruiker de juiste rechten heeft. De Proceslaag roept vervolgens de juiste acties op het object aan.
Nu het probleem:
Omdat de UI de beschikking heeft over mijn object kan hij zonder tussenkomst van de Proceslaag acties uitvoeren met de objecten. Dit is niet de bedoeling.
Ik zit er dus over te denken om dan maar 'domme berichten' te gaan versturen vanuit de Business Logicalaag. Dat betekent wat mij betreft dat een Dossier wel de relevante properties heeft, maar geen enkele method meer.
Klinkt simpel eigenlijk. Dit zou dus al een gebruikelijke manier van werken kunnen zijn? Zie ik wat over het hoofd?
User Interface
Proceslaag
Business Logicalaag
Datalaag
In de Business Logiclaag zitten mijn businessobjects, bijvoorbeeld: dossier. Een dossier kan aangemaakt worden, verstuurd worden, behandeld worden etc.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
| +========== | DOSSIER |------------- | CreateDate | Creator | Titel | ... |------------- | + MaakAan() | + Verstuur() | + Behandel() | ... +=========+ |
Dit object komt via de proceslaag uit bij de UI, alwaar informatie uit het object op het scherm wordt getoond.
Als ik vanaf de UI een dossier wil aanmaken, moet ik dat via de proceslaag doen, zodat de proceslaag bijvoorbeeld kan controleren of de gebruiker de juiste rechten heeft. De Proceslaag roept vervolgens de juiste acties op het object aan.
Nu het probleem:
Omdat de UI de beschikking heeft over mijn object kan hij zonder tussenkomst van de Proceslaag acties uitvoeren met de objecten. Dit is niet de bedoeling.
Ik zit er dus over te denken om dan maar 'domme berichten' te gaan versturen vanuit de Business Logicalaag. Dat betekent wat mij betreft dat een Dossier wel de relevante properties heeft, maar geen enkele method meer.
Klinkt simpel eigenlijk. Dit zou dus al een gebruikelijke manier van werken kunnen zijn? Zie ik wat over het hoofd?