Devlico.Us
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @devlicious

Billy McCafferty



S#arp Architecture 0.7 now supports NHibernate 2.0 Beta 1

S#arp Architecture 0.7 represents a major upgrade to the infrastructure of S#arp Architecture - but the overall architecture, with respect to application layering, remains the same.  This release is far simpler to work with than previous versions while still providing plenty of flexibility.  A huge thanks goes out to Frank Laub who has provided terrific feedback and guidance on making S#arp Architecture simpler while using it on real-world web applications.  This release's many changes include:

  • NHibernate 2.0 Beta 1 integration is now included.
  • Integration with Spring.NET has been dropped. Spring.NET is a fantastic library with world class AOP, IoC support, and many other modules. But for S#arp Architecture, a simpler approach was found for performing dependency injection without the need for external configuration files. If you're still in need of many of Spring.NET's terrific libraries, you'll want to take a look at release 0.6.* which comes preconfigured with Spring.NET.
    • The ~/SpringConfig folder no longer exists
    • There is no more SpringInteropController
    • The Spring XML generator has been dropped from ProjectBase
  • GenericDAO now uses the native NHibernate session.
  • HTTP Modules are no longer needed to support the Open-Session-in-View pattern for NHibernate session management.
  • All configuration, such as the DB connection string, is now just within web.config.
  • Concrete types needed for Dependency injection are now declared at the top of each dependency interface; e.g., IOrderDao.
  • NHibernate session storage mechanisms, for both web and unit-tests/winforms have been added to ProjectBase.Data and ProjectBase.Web.
  • The Identity attribute has been renamed to DomainSignature to better reflect its purpose.
  • Controllers now simply inherit from the base MVC Controller.
  • ProjectBase.Web.ControllerFactory has been introduced with built in dependency injection.

I'm confident you'll be very pleased with the changes and would highly recommend upgrading your project if you're already using this framework and do not need the many powerful utilities found within Spring.NET.

http://www.codeplex.com/SharpArchitecture

Billy McCafferty



Comments

S#arp Architecture Updated (version 0.7) : { null != Steve } said:

Pingback from  S#arp Architecture Updated (version 0.7) :  { null != Steve }

# July 10, 2008 10:59 AM

Billy McCafferty said:

It was a difficult decision to remove Spring.NET from the architecture, especially after the support the Spring.NET team has provided.  Spring.NET is a spectacular framework and full of a lot of terrific features.  But when it came right down to it, its removal brought S#arp Architecture closer to the mantra of being "the simplest thing that could possibly work."  So although it no longer has the bells and whistles that Spring.NET could potentially provide, it still accomplishes exactly what I need it to with much less configuration.

# July 10, 2008 12:56 PM

Martin said:

Billy,

Major turnaround, but I think the right choice for the majority of use cases.

I think you should still have a base class for unit testing though that wraps the tests in a transaction and rolls back.

With the current implementation save tests will be committed.

Thanks again for a fantastic framework

# July 11, 2008 4:57 AM

Billy McCafferty said:

That's a great point Martin...the unit test rollback that Spring provided was a great feature.  I'll add that functionality, accordingly.

# July 11, 2008 12:45 PM

Steve said:

Makes sense, thank Billy.

Actually, the more I work with Spring.NET the more confused I am on how it all works  :)

So, simple is better here I think

# July 14, 2008 9:58 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Check out Devlicio.us!

Our Sponsors

Red-Gate!