views:

1033

answers:

7

The S#arp Architecture seems really cool, but do you think it's still too new to make the commitment to it in an important new project? (Let's assume the project appears to be a good fit for it at first glance.)

It all seems very good, I'm just concerned that the new project I'm working on is using all the newer technologies - WCF, ASP.NET MVC etc - and that if I add one more infant technology I'm going to end up with lots of problems and not enough technical skill or community support to figure them out...

It's just so hard to resist that demanding boy inside me: I wanna have the newest stuff!

(Disclaimer: I'm very new to the S#arp Architecture, so I'm mostly basing my optimistic opinion of it on the stated goals of the project, articles, bits of sample code etc.)

+4  A: 

I would encourage you to experiment with it, and do some inhouse or hobby projects with it. For a commercial app, I would suggest a more mature framework. It will be more stable, better supported, and have a larger base of developers and sample code.

Jon B
+2  A: 

the trouble with new technologies are:

  • no best practices discovered over time
  • no documentation/samples/community from others that you can google for
  • no 'case studies' of successful implementations to prove performance/scalability/etc
  • no 'features' discovered and documented, let alone fixed.

but someone's got to do it to get those things - it might as well be you, if you can afford for the whole thing to fail and be re-written.

If you can't afford the time to do it all over again (just in case it does prove to be useless or too difficult) then stick to established, proven technologies. In the end, its what you produce that matters, not how to produce it.

gbjbaanb
+2  A: 

I agree with John B: S#arp Architecture makes use of some well-known frameworks and patterns which, in their own right are largely battle tested and have a reasonable amount of community support to warrant commercial use, but there isn't enough S#arp specific community support or example projects out there to warrant the advantages the framework provides.

It's definitely great as a reference if you're wanting to use a couple of the techniques they've implemented in the framework though.

@leppie - what makes you want to avoid NHibernate?

Sid M
+4  A: 

I don't see S#arp Architecture as a framework or even an "architecture" but an awesome starting point for developing an application using MVC and Fluent NHibernate. The project and files are well organised based on the Visual Studio template it provides. That by itself is worth a ton to get one up and running fast. I suggest looking over the Northwind sample source that comes with the source of S#arp Architecture to see what's possible.

LordHits
Ironically, the Northwind sample (The only example packaged with sharp) contains lots of examples of how not to do things!
UpTheCreek
Pretty broad statement. Want to point to a link explaining all the stuff it's doing wrong? Thanks.
LordHits
@LordHits - it's in the code comments
David Neale
A: 

S#arp is a fantastic base but you really need to understand what's going on under the covers to extend your domain architecture. i use S#arp every opportunity i can.

CurlyFro
+2  A: 

S#arp is a great starting point as has already been noted. It is easy to extend, decouple or change components as you go along depending on your requirements, however knowledge of its underlying frameworks would be a major advantage.

Richard
+8  A: 

http://fancydressoutfitters.co.uk was built using:

  • Sharp Architecture (ASP.NET MVC, NHibernate, Fluent NHibernate),
  • Spark View Engine
  • AutoMapper
  • NHibernate Validator
  • xVal Validation Framework
  • N2CMS
  • PostSharp
  • Solr & SolrNet

and it worked very well indeed. We documented a lot of our learnings from this project as blogs which you can find here: http://delicious.com/howardvanrooijen/fdo-casestudy

We also decided that we wanted to give back to the various Open Source Communities who helped us, so we created a new Sharp Architecture Showcase Application called Who Can Help Me? The source is available from http://whocanhelpme.codeplex.com and a live demo can be found at http://who-can-help.me

HowardvanRooijen