views:

542

answers:

4

Are the benefits enough to use another external assembly? How difficult is it to remove S#arp and keep NHibernate at a later point?

+2  A: 

I think that there would be problems with keeping everything - S#arp isn't a small helper class for NHibernate only. Integration with it is supposed to be tight by design.

If i had to start my project once again - i would use S#arp architecture. That Northwind sample project looks like a lollipop to me.

Therefore - if you feel fine with external libraries - go for it!

Arnis L.
I have on problems with external libraries as long as you can move away from them without much pain. Yeah, I realize S#arp is much more than a helper. Thanks.
suedeuno
I have on should read 'I have no ...'
suedeuno
+1  A: 

I prefer straight IoC + NHibernate + MVC.

A few months ago I took a look at S#arp architecture at the same time I was getting into IoC and Mvc. I picked it apart thoroughly. I like the way the project manages NHibernate sessions in a very test-friendly way. I've carried that design into my own projects. But I felt I would be better served understanding what was going on and simply setting up only what I needed in my own project architecture.

IoC is not difficult to set up. NHibernate + Fluent NHibernate is not difficult to set up, once you've done it a couple times. I prefer to know my code, especially when it's something simple like IoC and NHibernate, rather than delegating implementation to a black box.

spot
is sharp arch a black box, as you get all the source code?
dbones
+1  A: 

you need to understand what's going on under the covers because you're going to need to extend the architecture for your domain. i use S#arp every opportunity i can.

CurlyFro
+5  A: 

Luis Abreu has a great series of blog entries on S#arp Architecture that discusses the most important assemblies in the project. They certainly helped my understanding of the underpinnings of the Framework.