Over one year in the making...S#arp Architecture 1.0 RTM has been released at http://code.google.com/p/sharp-architecture/downloads.
Pronounced "Sharp Architecture," this project 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. To help you achieve this goal, S#arp Architecture includes a Visual Studio 2008 project template and a built-in CRUD scaffolding generator to save you many hours of development time.
Along with comprehensive documentation (in /docs/) and upgrade guidance (in /VersionHistory.txt), this RTM release has a number of big improvements to developing your S#arp Architecture project, including:
Compatible with ASP.NET MVC 1.0
All upgraded dependencies including NHibernate 2.1 CR 1
S#arp Architecture documentation may now be found at http://wiki.sharparchitecture.net, still a work in progress (a huge thanks to Joe Lowrance for migrating the docs)
Strongly typed action link for areas (SharpArch.Web.Areas.ActionLinkForAreas<> and BuildUrlFromExpressionForAreas<> - thanks Brad Buhrkuhl!)
Fluent NHibernate now using configuration classes
(Re)Introduced support for IIS 7 integrated mode
Support for WCF has been added as SharpArch.Wcf for server support and SharpArch.WcfClient.Castle for auto-closing of the connection on the client (thanks Frank Laub!)
SharpModelBinder has been introduced for much better form binding, including support for all association types; e.g., one-to-one, one-to-many, and many-to-one Entity associations
Support for multiple databases outside of WCF communications (thanks Russell Thatcher, David Longnecker, James Broome and Howard van Rooijen for suggestions and input!)
- A CI home at http://teamcity.codebetter.com/overview.html (thanks Kyle and Simone!),
- Updated compatibility with the latest T4 Toolbox for a much faster and stable CRUD Scaffolding generation expeience
A big thanks goes out to the S#arp Architecture contributors (Kyle Baley, Simone Busoli, and Frank Laub) and to those who have suggested ideas, provided patches, and added to the discussion over the past year! This project would not be what it is today without the very helpful input of the entire S#arp Architecture community.
For more info, google "S#arp Architecture" to find out what people have to say about the framework and to find other gems such as dimecasts, tutorials, and useful tips and tricks.
07-15-2009 12:44 PM