You know there are a million .NET sample apps, Tutorials, You Tube Video Tutes, MIX/PDC Videos,Console Apps and Hello Worlds going around for any given aspect of the .NET. They have an important role to fill when you need to get a few lines of sample code to try out or just build a quick CRUD application to demonstrate aspects of a tool(s). Getting quickly into things like MVC, Silverlight,WPF and jQuery for me has been based on these types of resources because its a great starting point into a Technology. It’s also a great way to get the few lines of code you need to get that SPECIAL functionality into your application.
There is however a general lack of resources when looking at the enterprise scale development. This gap is fairly significant because in general without reference points for enterprise scale development it can be hard to start building a large application unless you have existing code or developed those scale applications before. There are a few excellent books and attached sample projects but its rare that these types of artifacts are free. Design patterns and guidance do exist. Martin Fowler, Eric Evans,Uncle Bob Martin and others have developed a stack of guidance,patterns and practices but again its rare that this guidance are combined into a significant sample application.
Don’t dispair. I have found a great resource and guess what? Its Free!!!
In terms of tool kit the following are the key components:
- MVC (I removed the other UI projects just to keep the sample MVC only)
- Entity Framework
It’s great because its not just a significant sized application. It’s not massive mind you but its infrastructure is significant. It contains cross cutting areas like Security and Logging and shows how to structure an application into a logical set of layers. What is really important though is the quality of the documentation. The massive PDF** is a great document. Its well written and has a very strong explanation of the design principles used that are based heavily on the major design principles we know and love (SOLID, GoF Design Patterns etc…). As it says on the site:
“Its main goal is to show how to use .NET 4.0 wave technologies implementing typical DDD patterns: N-Layered Architecture, Domain Entities, Aggregates, Repositories, Unit of Work, Domain Services, Application Services, DTOs, DTO-Adapters, etc
**I have only really reviewed the V1 version and although thats still MVC2 – it still does the job of describing how to build an enterprise scale .NET app.