S#arp Architecture: ASP.NET MVC Best Practices with NHibernate

by Jacobus Meintjes August 31, 2009 08:47

Found at S#harp architecture

 

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.

Billy McCafferty

Tags:

ASP.Net MVC

Comments are closed

Powered by BlogEngine.NET 1.6.0.0
Theme by Mads Kristensen | Modified by Mooglegiant

About Me

Jacobus Meintjes
 
C# developer working with ASP.Net and/or Windows Forms.
Email Me

Cumulus

This will be shown to users with no Flash or Javascript.

Widget Twitter not found.

Root element is missing.X