8

As stated in another post S#arp Architecture combines ASP.NET MVC with other frameworks and tools like

  • NHibernate 2.0.1
  • NHibernate.Validator
  • Fluent NHibernate
  • Castle Windsor
  • Rhino Mocks

I understand that it is less of a framework, and more of a set of best practices, supporting DDD and encouraging TDD in every stage of the process.

However, all the tools and frameworks S#arp is based on, are third-party products, supported by the community. Even though I question neither the quality of these products, nor the commitment of the people supporting them, it would be interesting to see if Microsoft will be offering an alternative to this approach.

I understand that EF v4.0 will manage to cover most of the shortcomings of its previous releases and that MVC will get updated to its next version, but still, this is far from the comprehensive solution offered by S#arp and its components.

So, what about Microsoft's answer to the S#arp Architecture?

Community
  • 1
  • 1
Chris Vosnidis
  • 1,311
  • 10
  • 8

3 Answers3

11

NHibernate 2.0.1
Linq to Sql (now redundent as it's been replaced with Linq to Entities)

NHibernate.Validator
There's no official equivalent. ASP.NET MVC 2.0 has validation (look for DataAnnotation Validation Support), and ValidationAspects works with Unity.

Update: infact DataAnnotations aren't a MVC thing but part of System.ComponentModel introduced in 3.5 SP1.

Fluent NHibernate
Not needed, as the Linq to SQL XML and code behind is generated by the designer.

Castle Windsor
Microsoft Unity

Rhino Mocks
Microsoft doesn't have a mocking engine, although MOQ is produced by a Microsoft MVP.

Chris S
  • 64,770
  • 52
  • 221
  • 239
  • A complete answer indeed :) Although I would say that the Entity Framework is the NHibernate alternative. Linq to Entities is a great facilitator for accessing and querying those Entities, something that isn't yet officially supported by NHibernate – Chris Vosnidis Nov 17 '09 at 14:11
  • 1
    As a side note, "Microsoft MVP" is not necessarily a person associated with Microsoft in any way other than being an expert in some MS technology and recognized as such by MS itself. – Pavel Minaev Nov 18 '09 at 23:41
  • @Pavel that's true, although projects written by MVPs are generally closer to "what would Microsoft do" than messy, clique ports of Java projects like a lot of projects in .NET – Chris S Nov 19 '09 at 10:08
  • 2
    For Fluent NHibernate, MS have their own thing called Code-Only, see my question: http://stackoverflow.com/questions/1694297/does-entity-framework-4-0-allow-to-work-without-designers – queen3 Nov 21 '09 at 15:26
2

Microsoft has the Web Client Software Factory which is produced by the Patterns and Practices team at Microsoft.

alt text http://i.msdn.microsoft.com/Bb264518.wcsf_corechallenges(en-us,MSDN.10).gif

Jonathan Parker
  • 6,705
  • 3
  • 43
  • 54
1

Microsoft provides The Unity Application Block for a dependency injection container if you are looking for the Microsoft alternative to the Castle Windsor container.

Daniel Robinson
  • 2,165
  • 17
  • 14