It is done... S#arp Architecture 1.0 RTM

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
  • We now have a community site at http://www.sharparchitecture.net, still a work in progress (a flippin' ginormous thank you to Kyle Baley for setting this up)
  • 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.

Enjoy!

Billy McCafferty
http://www.itsamuraischool.com


Posted 07-15-2009 12:44 PM by Billy McCafferty
Filed under:

[Advertisement]

Comments

on 07-15-2009 8:04 PM

Trying this one from Windows Live Writer even though it refuses to detect my Graffiti theme or any of those supplied, and thus won’t format for it. Domain-Driven Design Unshackle Your Domain The Anemic Domain Model Pattern Software Architecture Perhaps

Sanjeev Agarwal wrote Daily tech links for .net and related technologies - July 14-17, 2009
on 07-16-2009 3:27 AM

Daily tech links for .net and related technologies - July 14-17, 2009 Web Development ASP.NET Membership

DotNetKicks.com wrote Sharp Architecture RTM
on 07-16-2009 4:39 AM

You've been kicked (a good thing) - Trackback from DotNetKicks.com

David Hayden - Florida .NET Developer - C# and SQL Server wrote ASP.NET MVC and NHibernate Framework Architecture - Download Sharp Architecture 1.0
on 07-16-2009 9:36 AM

Sharp Architecture 1.0 Released.

LA.NET [EN] wrote S#arp 1.0 RTM
on 07-16-2009 2:49 PM

It seems like S#arp is out . I’ve written a little about it in the past and I guess I should take another

ASPInsiders wrote S#arp 1.0 RTM
on 07-16-2009 6:05 PM

It seems like S#arp is out . I’ve written a little about it in the past and I guess I should take another

nHibernateNewbie wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-18-2009 7:43 AM

may I ask why it took over the year to make it?

was it the problematic NHibernate implementation or was there any architectural problems?

well as I don't really see into this but "year in making" sounds scary for me unless you've done some nulear physics beside it...

don't want to sound like a troll, just looking for explanation, as year in making means at least half year of understanding it for me so why choose it in the first place then...

thanks

DotNetShoutout wrote It is done... S#arp Architecture 1.0 RTM - Billy McCafferty - Devlicio.us
on 07-18-2009 9:19 AM

Thank you for submitting this cool story - Trackback from DotNetShoutout

Billy McCafferty wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-18-2009 10:25 AM

@nHibernateNewbie, entity framework sounds like it might kbe a better fit for you.

W3Max wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-18-2009 3:14 PM

Wow, excellent work... very well structured... I love it!!!

I only have one question : why do you consider "assigned ids" a bad practice (taken from the VersionHistory.txt)?

I am no nHibernate expert but I think that ids that are handled by the domain have a lot more advantages than ids created by the database. I would like to use Guids since I work with dev/prod databases. I would create ids with this method : stackoverflow.com/.../1042719

What are your thoughts/advices ?

Thank you for the good work !

nHibernateNewbie wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-18-2009 5:36 PM

Billy, thanks for the answer!

but I don't see the point why ORM plays a role here, it is about architecture (e.g. plumbing) not ORM.

so the same architecture could be built with any ORM  or are you saying just NHibernate needed 1 year of work to make it usable and other ORMs provide much better value?

btw I definitely am going to look onto this so I forgot to thank you all for  this great work, I know Nhibernate a bit so shouldn't be such a problem but one year one year man that looks scary ;))

Derik Whittaker wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-19-2009 3:05 PM

Congrats guys,

xajler wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-20-2009 3:28 PM

Great work Billy and the Gang, hope to see more of your outstanding work!

xajler wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-20-2009 3:30 PM

Great work Billy, hope to see more of your outstanding work!

Billy McCafferty wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-20-2009 3:37 PM

@W3Max, I've been in a couple of situations wherein the business rules, behind how the assigned IDs are generated and used, got changed on us during maintenance stages.  (In one of the cases, the business rule changed about 4 years after the product was initially developed.)  In both cases, it had a lot of underlying cascade effects, with a lot of painstaking code correcting.  (So assigned IDs have caused me personally a bit of grief, but I'm sure many others have had good luck with them.)

@nHibernateNewbie, A) "over a year" on an open source project does not mean full time for a year - it means whenever I have the time and motivation to keep plugging away on it, B) I would have a lot more faith in something that had many eyes on it over a year than just a few eyes over the course of a month.  Just my 2 cents.

@Others, thanks!

Raj wrote re: It is done... S#arp Architecture 1.0 RTM
on 07-27-2009 3:19 AM

Great Work. Can you write post on Fluent NHibernate mapping that you have used in the sample Northwind project?

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
Umbraco
NServiceBus
RavenDb
Web Sequence Diagrams
Ducksboard<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)