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.

8.1. Inside the layers of an NHibernate application

8.2. Solving issues related to .NET features

8.3. Achieving goals and solving problems

8.4. Integrating services: the case of audit logging

8.5. Summary