Tuesday, February 08, 2005

I had the privilege of meeting Jimmy Nilsson today in the speaker lounge.  He did a talk on Domain Driven Design today at VS Live.  It was good introduction to the concept.  I had hoped it would go deeper, but in 1 hour it is hard to cover much.  After my exploration into Business Objects earlier this week with Rocky I was curious about Jimmy's recommendations for persistence with the private fields problem I mentioned before.  In short the answer was that nHibernate uses reflection to address the problem.  He acknowledged the performance costs.  

I guess it just brings out the reality that as solution architects we have to balance performance and maintainability and choose wisely.  I know that most of the things I work on can afford the impact of reflection and it will not be problem.  Today I am back with thinking that the best approach for Domain Design will include a service layer that handles the interaction with the persistence layer.  So, when I use the CSLA framework I will move the Data Portal code to separate classes and find a way to integrate my favorite best practices for persistence and object creation.