Pronounced "Sharp Architecture," this is a solid architectural foundation for rapidly building maintainable web applications leveraging the ASP.NET MVC framework with NHibernate. The primary advantage to be sought in using any architectural framework is to decrease the code one has to write while increasing the quality of the end product. A framework should enable developers to spend little time on infrastructure details while allowing them to focus their attentions on the domain and user experience. Accordingly, S#arp Architecture adheres to the following key principles:
- Focused on Domain Driven Design
- Loosely Coupled
- Preconfigured Infrastructure
- Open Ended Presentation
The overall goal of this is to allow developers to worry less about application "plumbing" and to spend most of their time on adding value for the client by focusing on the business logic and developing a rich user experience.
Good background material reading includes http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx. Although there are major infrastructural changes from this article in the current architecture, the general structure is very similar and the background reading is very helpful in understanding many of the ideas behind this architecture. S#arp Architecture documentation is included along side the current release.
S#arp Architecture and the preceding article have been referenced in NHibernate in Action by Pierre Henri Kuate, Windows Developer Power Tools by James Avery and Pro LINQ Object Relational Mapping in C# 2008 by Vijay P. Mehta.