Intro
Stel ik heb 't volgende systeem opgezet:
Ik heb repositories die alle CRUD-acties verzorgen voor een bepaalde class. Zo heb ik bijvoorbeeld MedewerkerRepository.
De MedewerkerRepository bevat methods als GetAll(), GetByID(), SaveOrUpdate() etc.
Verder heb ik een Domein laag, waarin alle domein objecten zitten, zoals Medewerker. Een Medewerker class bevat zowel data (Naam, Salaris, Functie etc.) als functionaliteit (VerhoogSalaris())
Ik heb ook een servicelaag, waarin functies zitten als OntslagMedewerker, die vervolgens zorgt dat de DatumUitDienst van een Medewerker op today wordt gezet, zijn salaris op 0 wordt gezet, en zorgt dat via de E-mailService de administratie een verzoek krijgt om een ontslagbrief te maken.
Tot nu toe geen vragen, maar....
Vraag
Stel ik wil nu een lijstje op het scherm tonen met alle medewerkers die Jansen heten. De Repository bevat in ieder geval de functie om dit lijstje op te hoesten. Alleen ik had in eerste instantie het idee dat de User Interface alleen tegen de Domain Objecten en de Service Laag aan praat, en dat de Service Laag de interactie met de Repositories doet.
Maar als ik dat zo doe, dan moet ik dus in mijn Service Laag ook een functie GetAll() maken, die eigenlijk alleen maar de Repository aanroept, en verder niet zoveel doet. Niet zo'n probleem natuurlijk, maar een beetje zonde van het werk.
Zouden jullie ervoor kiezen om de User Interface ook de Repositories aan te laten spreken, of toch alles via de Service Laag te doen?
Stel ik heb 't volgende systeem opgezet:
Ik heb repositories die alle CRUD-acties verzorgen voor een bepaalde class. Zo heb ik bijvoorbeeld MedewerkerRepository.
De MedewerkerRepository bevat methods als GetAll(), GetByID(), SaveOrUpdate() etc.
Verder heb ik een Domein laag, waarin alle domein objecten zitten, zoals Medewerker. Een Medewerker class bevat zowel data (Naam, Salaris, Functie etc.) als functionaliteit (VerhoogSalaris())
Ik heb ook een servicelaag, waarin functies zitten als OntslagMedewerker, die vervolgens zorgt dat de DatumUitDienst van een Medewerker op today wordt gezet, zijn salaris op 0 wordt gezet, en zorgt dat via de E-mailService de administratie een verzoek krijgt om een ontslagbrief te maken.
Tot nu toe geen vragen, maar....
Vraag
Stel ik wil nu een lijstje op het scherm tonen met alle medewerkers die Jansen heten. De Repository bevat in ieder geval de functie om dit lijstje op te hoesten. Alleen ik had in eerste instantie het idee dat de User Interface alleen tegen de Domain Objecten en de Service Laag aan praat, en dat de Service Laag de interactie met de Repositories doet.
Maar als ik dat zo doe, dan moet ik dus in mijn Service Laag ook een functie GetAll() maken, die eigenlijk alleen maar de Repository aanroept, en verder niet zoveel doet. Niet zo'n probleem natuurlijk, maar een beetje zonde van het werk.
Zouden jullie ervoor kiezen om de User Interface ook de Repositories aan te laten spreken, of toch alles via de Service Laag te doen?