This unique book takes good ASP.NET (MVC/Webforms) application construction one step further by emphasizing loosely coupled and highly cohesive ASP.NET web application architectural design. Each chapter addresses a layer in an enterprise ASP.NET (MVC/Webforms)Â application and shows how proven patterns, principles, and best practices can be leveraged to solve problems and improve the design of your code. In addition, a professional-level, end-to-end case study is used to show how to use best practice design patterns and principles in a real website.
Professional ASP.NET Design Patterns:
All patterns and principles are applicable to ASP.NET MVC and ASP.NET Web forms
Demonstrates how to use the Gang of Four design patterns to improve your ASP.NET code
Shows how Fowler's Enterprise patterns and the S.O.L.I.D. design principles fit into an enterprise-level ASP.NET site
Provides details on how to layer an ASP.NET application and separate your concerns and responsibilities
Details AJAX patterns using JQuery and Json, and messaging patterns with WCF
Shares best practice tools for ASP.NET such as AutoMapper, NHibernate, StructureMap, Entity Framework, and Castle MonoRail
Uncovers tips for separating a site's UX and presentation layer using MVC, MVP and the Front Controller patterns
Features code examples that are applicable to all versions of ASP.NET
This book features C# code examples in ASP.NET MVC and ASP.NET Web forms.
Stay up to date with the latest case study ASP.NET MVC C# code used in the book at the project home page aspnetdesignpatterns.codeplex.com/.
Contents:
Part 1: Introducing Patterns & Design Principles
1. The Pattern for successful applications 2. Dissecting the Patterns Pattern
Part 2: The Anatomy of an ASP.NET Application: Learning and Applying Patterns
3. Layering Your Application 4. Business Logic Layer: Organisation 5. Business Logic Layer: Patterns 6. Service Layer 7. Data Access Layer 8. Presentation Layer 9. User Experience Layer
Part 3: Case Study: The Online E-Commerce Store (ASP.NET MVC 2 in C#)