Ontwerpen met frameworks

Het vergt wat discipline om je ontwerp niet te laten leiden door de frameworks die je gebruikt. Met het SpringFramework gaat het nog wel, maar met Hibernate zit ik nog een beetje te stoeien. In de ideale situatie weten mijn domein objecten niks van de frameworks.

Aan de andere kant zijn er wel handige dingen in hibernate die je door je domein objecten wil laten gebruiken. Het validatie framework bijvoorbeeld. Ik kan makkelijk met een annotatie zeggen dat een veld een email adres is en daar heeft Hibernate dan een standaard validatie voor. Maar als ik deze gebruik ben ik afhankelijk van de Hibernate implementatie.

Een oplossing is om aparte pure domein objecten te maken die via interfaces gebruik maken van framework specifieke implementaties. Lijkt me nu veel extra werk, en ik weet niet of de code er overzichtelijker van wordt. Ik denk dat ik voor nu de framework afhankelijkheid voor lief neem en misschien later wat ga refactoren.