Chapter 8. Developing NHibernate applications
This chapter covers
- Implementing layered applications
- Solving issues when setting up .NET applications using NHibernate
- Achieving design goals
- Solving debugging and performance problems
- Using integrating services like audit logging
At this point, you may be thinking, “I know all about NHibernate features, but how do I fit them together to build a full NHibernate application?” It’s time for us to answer that question and to show you how to apply the knowledge you’ve gained to implement applications as part of a real-world development process.
We discussed the architecture of an NHibernate application in section 1.1.5. This provided the bird’s-eye view, but you need to get from that point to working with executable code.
We discuss the development process layer by layer, showing the internals of each layer and how each should handle its designated responsibilities. We also discuss how layers should communicate with each other.
Because this book focuses on NHibernate, the domain model and persistence layers draw most of our attention. However, using NHibernate requires design decisions throughout all the application layers, so we provide details where we feel they will help.