By applying an O/R Mapper such as NHibernate, the design and code we started sketching out in Chapter 4, "A New Default Architecture," and forward can be followed pretty closely and non-intrusively. NHibernate lets us build our Domain Model in a PI manner. I see this family of tools (the O/R Mappers) as enablers for making it possible to focus on DDD, but at the same time they need to provide openings for us to handcraft pieces of the persistence code when needed. Of course, it's not just gold and green forests. For example, I would really like to see awareness of DDD from O/R Mappers like NHibernate, which would simplify the whole thing and lead to even better end results. Still, applying NHibernate as part of your infrastructure, I think, is a big step in the right direction. So, what's next? The last part of the book, Part IV, "What's Next?" is what's next. The first chapter of that part starts with a discussion about larger contexts, having several models at play. After that there is a focus on interesting design techniques for now and the future. Those are Service-Oriented Architecture (SOA), Inversion of Control/Dependency Injection (IoC/DI) and Aspect Oriented Programming (AOP). |