The past two weeks have been wonderful for me, spending 12 days on Oahu, Hawaii. Then followed up with the S#arp Architecture 1.5 release.
It has been a short 4 months since taking over as the project lead and this is my first major milestone. With this release, we advance S# even more forward with the ASP.NET MVC 2 enhancements.
What's is S#?
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
- Loosely coupled
- Open Ended Presentation
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.
essential reading is Eric Evans’ Domain Driven Design
For a quick introduction to the subject, see Domain Driven
which is a concise summary of Evans’ classic work.
Other useful background material, albeit dated, and http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx
Although there are major infrastructural changes from the referenced
article when compared to the current S#arp Architecture, the general
structure is very similar and the background reading is helpful in
understanding many of the ideas behind this development foundation.
Architecture and the NHibernate Best Practices article have been
referenced in NHibernate in Action
by Pierre Henri Kuate, Windows Developer
by James Avery and Pro LINQ
Object Relational Mapping
in C# 2008 by Vijay P. Mehta.
What's new in this version?
- ASP.NET MVC 2 - this is the single biggest change. Internally there were not many changes to make use of MVC 2. The largest changes coming to the SharpModelBinder to use the new ModelBinder.
- Visual Studio 2010 - included with this release are templates for Visual Studio 2010 targeted for the 3.5 framework
- Areas - the baked in areas have now been updated to use the built-in area support
- Nhibernate - updated to the latest GA assemblies, 22.214.171.124
- Fluent NHibernate - updated to 126.96.36.1996 built on NHibernate 188.8.131.52
- MvcContrib - updated to 184.108.40.206
- Castle project - updated to Castle.Core 1.2, Castle.DynamicProxy2 2.2, Castle.MicroKernel and Castle.Windsor 2.1
- jQuery - updated to 1.4.2
Where can I get it?
There are 3 downloads. Two of which are templates only and the last one being the full source with the templates.
Visual Studio 2008 Template only - http://github.com/downloads/codai/Sharp-Architecture/SharpArchitecture_1.5_RTM_TemplateOnly.zip
Visual Studio 2010 Template only - http://github.com/downloads/codai/Sharp-Architecture/SharpArchitecture_1.5_RTM_VS2010_TemplateOnly.zip
Full Source and both Templates - http://github.com/downloads/codai/Sharp-Architecture/SharpArchitecture_1.5_RTM_FullSourceAndTemplates.zip
If you have any questions or concerns, please feel free to browse our google group, http://groups.google.com/group/sharp-architecture