MSDN has an excellent section on Architecting ASP.NET Applications.
Starter Kits
A great way to learn about software architecture is to look at how other applications have been built. There are a number of great community supported Starter Kits like:
-
DotNetNuke Starter Kit - DotNetNuke is a Web Application Framework ideal for creating and deploying projects such as commercial web sites, corporate intranets and extranets, online publishing portals, and custom vertical applications.
-
BlogEngine.NET Starter Kit - BlogEngine.NET is a full-featured blogging platform that is a breeze to set up, customize, and use. BlogEngine.NET works with your choice of data source; you may use SQL Server, or you may take the plug’n’play approach using XML files.
-
dasBlog - dasBlog is a blogging engine that offers elegant visual aesthetics, powerful easy to use features, and a unique application architecture. dasBlog requires no database engine, using file-based content management with an architecture that ensures excellent performance.
-
Subtext - Subtext is a personal blog publishing platform that focuses on usability, elegance, and simplicity. If you’ve ever caught yourself throwing your hands in the air and declaring that you’re going to write your own blogging engine, then Subtext is for you.
-
Employee Info Starter Kit - This is a starter kit, which includes very simple user requirements, where we can create, read, update and delete (crud) the employee info of a company. The primary purpose of this starter kit is, to provide a solid guideline with respect to building enterprise level projects, by utilizing new asp.net 2.0 and sql server 2005 features, as well as latest best coding practices. The starter kit includes several cases where we can perform multi-table joining and/or write operations. Combining high performance and security features this starter kit shows how we can solve in real world problems and challenges, from a wide range of view point.
Podcasts
Sample Enterprise Applications
-
Microsoft .NET Pet Shop 4 - The .NET Pet Shop application is designed to show the best practices for building enterprise, n-tier .NET 2.0 applications that may need to support a variety of database platforms and deployment scenarios.
-
DinnerNow - DinnerNow is a fictitious marketplace where customers can order food from local restaurants for delivery to their home or office. This sample is designed to demonstrate how you can develop a connected application using several new Microsoft technologies.
The demo utilizes several technologies including: IIS7, ASP.NET Ajax Extensions, LINQ, Windows Communication Foundation, Windows Workflow Foundation, Windows Presentation Foundation, Windows PowerShell, and the .NET Compact Framework.
-
.NET StockTrader Sample Application - This application is an end-to-end sample application for .NET Enterprise Application Server technologies. It is a service-oriented application based on Windows Communication Foundation (.NET 3.0) and ASP.NET, and illustrates many of the .NET enterprise development technologies for building highly scalable, rich "enterprise-connected" applications. It is designed as a benchmark kit to illustrate alternative technologies within .NET and their relative performance.
- Microsoft TownHall - TownHall provides a cloud-hosted (Azure) solution in a low-cost, low-friction fashion. TownHall, with its multitude of existing and planned clients, allows organizations to engage individuals on whatever device they may be using at a given moment.
Videos
P & P Architecture Guides
- Application Architecture for .NET: Designing Applications and Services
This guide provides architecture-level and design-level guidance for application architects and developers that need to build distributed solutions with the Microsoft® .NET Framework. This guide assumes you are familiar with .NET component development and the basic principles of a layered distributed application design. This guide is most critical to those that architect and design applications or services; recommend appropriate technologies and products for applications or services; make design decisions to meet functional and nonfunctional requirements; or choose appropriate communications mechanisms for applications or services.
Beginners Articles
- Building Layered Web Applications with Microsoft ASP.NET 2.0
An excellent introduction for beginners showing the fundamentals involved in architecting an application using the Custom Business Entities approach. Written by Wrox author, Imar Spaanjaars.
- Traceability in Layered Architecture: A Roadmap
Traceability in layered architecture lets software architects to define, utilize, reuse and re-engineer existing, current and future application architecture in more structured way. This article provides a roadmap to trace multi-layer architectures easily.
Application Modeling
- .NET Application Modeling Language (nAML) Specification and Tool
Understanding the architecture and code in software application plays as major factor while building good software products. Along with specification, examples and tools, a new visual modeling technique being introduced here, termed as “nAML” (.NET Application Modeling Language), which overcomes the limitation of typical modeling languages in a revolutionary way! Nothing much to say, just download it and you can get to know how POWERFUL it is!
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here