Sharp Architecture

Billy has posted his new best practices with asp.net mvc, nhibernate and spring.net.  This is the same architecture that I have been using (we have conversed on a few emails) and it’s a good setup. 

Those 3 frameworks together can provide a good sound solution.  Spring.net handles the dependency injection of controllers and dao/repository objects as well as manage the nhibernate session and transactional support.

As he mentions in the documentation, Ayende’s NHibernate Query Generator is a ‘must have’ for me with nhibernate. It integrates into Visual Studio and gives a ‘linq like’ expression language for your dao/repositories.

Great stuff as always from Billy.  Here is a direct link to the codeplex setup: http://www.codeplex.com/SharpArchitecture

(Side note:  It would be good to see Spring.NET provide Entity Framework support for handling the DataContext.)

I’d like to add into this architecture the use of jQuery for all the client side/ajax/UI control needs.  Obviously there are several good javascript packages available (Prototype, Dojo, YUI). I have found jQuery to handle just about everything I have needed in my projects.  jQuery allows for the use of unobtrusive javascript development.

examples of how I’m using jQuery:

  • good ajax support – including jQuery forms – allowing forms to be posted via ajax with validation
  • validation support
  • table sorting/paging support
  • autocompletion
  • tab controls
  • date controls
  • input masks
  • modal popups
  • etc…

the jquery website has links to hundreds of user created solutions.  (I use Firebug as well for debugging my javascript and ajax code)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s