Northwind Starter Kit
The Northwind Starter Kit is a sample application produced by Managed Designs (http://www.manageddesigns.it
) and intended to be used as a blueprint when designing and implementing a .NET layered application architecture. The application uses the standard Northwind database, as included in Microsoft SQL Server and Microsoft Access: no modifications to the database schema are required in order to install and run the starter kit.
Project leader and main architect is Andrea Saltarello http://www.codeplex.com/site/users/view/andysal
Current active developers are: Andrea Saltarello, Ugo Lattanzi http://www.codeplex.com/site/users/view/imperugo
Past active developers were: Corrado Cavalli, Giancarlo Sudano, Luca Minudel, Marco Barzaghi
The application has been designed using common patterns, such as the ones defined within the "classic" "Designs Patterns" by Erich Gamma et al. and "Pattern of Enterprise Application Architecture", by Martin Fowler; though not required, these lectures are strongly recommended.
Domain logic is implemented by means of a Domain Model, onto a layer of services adds application logic. The model is persisted by a DAL designed around the principles of the "Repository" patterns, which has been implemented in a LINQ-friendly way.
The presentation layer has been implemented twice: the first implementation take advantage of a Model View Presenter implementation where the presenter logic is shared between views based built upon both Windows Forms and Windows Presentation Foundation.
There is also a web-only MVC version which takes advantage of Microsoft's ASP.NET MVC framework version 2.