Ik ben op dit moment Patterns of Enterprise Application Architecture van Martin Fowler aan het lezen. En ik vind het echt een fantastisch boek. Een van mijn zwakke punten op dit moment is toch wel de koppeling van domein objecten naar databases, en door dit boek krijg je hier gewoon veel meer inzicht in. Voor iedereen beter oo wil leren proggen zonder daar zelf ongelovelijk lang voor te moeten ploeteren, is dit boek echt een vette aanrader.
Maar om even ter zake te komen. In dit boek heeft hij het erg veel over complexe domein objecten. Ik ben helemaal gek op objecten en hoe complexer hoe beter. Maar helaas is er in enterprise applicaties ook vaak vreemde logica te vinden.
bv
-2 dagen na het einde van de maand dan moeten de rekeningen ingeleverd worden (anders nam een klant het contract niet aan)
-als er meer dan 15 bestellingen zijn gedaan per maand, dan kan 10% korting gegeven worden.
Dit zijn natuurlijk gruwelijke dingen om in je domein logica te gaan versleutelen, want dit is gewoon alles behalve logisch. Mijn vraag is daarom ook hoe jullie (als jullie het uberhaubt al doen) dit soort zaken gaan scheiden van je domein objecten? Ik had zelf al zitten denken aan allerlei vormen van strategies en speciale modules waar je een hele lading van die lelijke dingen kan dumpen, maar ik ben daar nog niet helemaal content mee. Ik wil dus weten hoe jullie dit soort problemen aanpakken.
Maar om even ter zake te komen. In dit boek heeft hij het erg veel over complexe domein objecten. Ik ben helemaal gek op objecten en hoe complexer hoe beter. Maar helaas is er in enterprise applicaties ook vaak vreemde logica te vinden.
bv
-2 dagen na het einde van de maand dan moeten de rekeningen ingeleverd worden (anders nam een klant het contract niet aan)
-als er meer dan 15 bestellingen zijn gedaan per maand, dan kan 10% korting gegeven worden.
Dit zijn natuurlijk gruwelijke dingen om in je domein logica te gaan versleutelen, want dit is gewoon alles behalve logisch. Mijn vraag is daarom ook hoe jullie (als jullie het uberhaubt al doen) dit soort zaken gaan scheiden van je domein objecten? Ik had zelf al zitten denken aan allerlei vormen van strategies en speciale modules waar je een hele lading van die lelijke dingen kan dumpen, maar ik ben daar nog niet helemaal content mee. Ik wil dus weten hoe jullie dit soort problemen aanpakken.