Table Of ContentIntroduction. Part I: Introducing Patterns and Principles. Chapter 1: The Pattern for Successful Applications. Design Patterns Explained. Design Principles. Fowler's Enterprise Design Patterns. Other Design Practices of Note. Summary. Chapter 2: Dissecting the Pattern's Pattern. How to Read Design Patterns. Design Pattern Groups. How to Choose and Apply a Design Pattern. A Quick Pattern Example. Summary. Part II: The Anatomy of an ASP.NET Application: Learning and Applying Patterns. Chapter 3: Layering Your Application and Separating Your Concerns. Application Architecture and Design. Summary. Chapter 4: The Business Logic Layer: Organization. Understanding Business Organizational Patterns. Summary. Chapter 5: The Business Logic Layer: Patterns. Leveraging Design Patterns. Leveraging Enterprise Patterns. Applying Design Principles. Summary. Chapter 6: The Service Layer. Describing the Service Layer. Leveraging Messaging Patterns. An SOA Example. Summary. Chapter 7: The Data Access Layer. Describing the DAL. Data Access Strategies. Patterns in Data Access. Using an Object Relation Mapper. Summary. Chapter 8: The Presentation Layer. Inversion of Control. Model-View-Presenter. Front Controller. Model-View-Controller. Page Controller. Summary. The User Chapter 9: Experience Layer. What Is AJAX. Using JavaScript Libraries. Understanding AJAX Patterns. Summary. Part III: Case Study: The Online DVD Store. Chapter 10: Requirements and Infrastructure. Agatha's Clothing Store Requirements. Architecture. Summary. Chapter 11: Creating The Product Catalog. Creating The Product Catalog. Summary. Implementing t Chapter 12: he Shoppi ng Basket. Implementing the Basket. Summary. Chapter 13: Customer Membership. Customer Membership. Summary. Chapter 14: Ordering and Payment. Checkout. Summary. Index.
SynopsisImplement proven solutions to recurrent design problems This unique book takes good ASP.NET 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 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 actuate best practice design patterns and principles in a real web site. The framework built to support the case study can be used as the basis from which you can build real web sites, extend the code, and implement specific ASP.NET code. Professional ASP.NET Design Patterns : Demonstrates how to use the Gang of Four design patterns to improve your ASP.NET code Shows how Fowlers enterprise patterns 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 sites UX and presentation layer from the pluggable data access layer and business logic layer wrox.com Programmer Forums Join our Programmer to Programmer forums to ask and answer programming questions about this book, join discussions on the hottest topics in the industry, and connect with fellow programmers from around the world. Code Downloads Take advantage of free code samples from this book, as well as code samples from hundreds of other books, all ready to use. Read More Find articles, ebooks, sample chapters, and tables of contents for hundreds of books, and more reference resources on programming topics that matter to you. Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job., Professional ASP.NET Design Patterns is all about showing you how to use the power of design patterns and core design principles in real ASP.NET applications. The goal of this book is to educate developers on the fundamentals of object oriented programming, design patterns, principles, and methodologies that can help you become a better programmer. Design patterns and principles enable loosely coupled and highly cohesive code, which will improve your code's readability, flexibility, and maintenance. Each chapter addresses a layer in an enterprise ASP.NET 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 is for ASP.NET developers who are comfortable with the .NET framework but are looking to improve how they code and understand why design patterns, design principles, and best practices will make their code more maintainable and adaptable. Readers who have had experience with design patterns before may wish to skip Part 1 of the book, which acts as an introduction to the Gang of Four design patterns and common design principles, including the S.O.L.I.D. principles and Martin Fowler's enterprise patterns. All code samples are written in C# but the concepts can be applied very easily to VB.NET. This book covers well-known patterns and best practices for developing enterprise-level ASP.NET applications. The patterns used can be applied to any version of ASP.NET from 1.0 to 4.0. The patterns themselves are language agnostic and can be applied to any object oriented programming language. Professional ASP.NET Design Patterns can be used both as a step-by-step guide and as a continuous source of reference to dip into at your leisure. The book is broken into three distinct sections. Part 1 is an introduction to patterns and design principles. Part 2 examines how patterns and principles can be used in the various layers of an ASP.NET application. Part 3 represents an end-to-end case study showcasing many of the patterns covered in the book. You may find it useful to work through the chapters before reading the case study, or you may find it easier to see the patterns in action by reading the case study section first and referring back to Part 2 for a more detailed view on the patterns and principles used. Within those parts the coverage includes: The origins of the Gang of Four design patterns, their relevance in today's world, and their decoupling from specific programming languages. An overview of some common design principles and the S.O.L.I.D. design principles follows, and the chapter ends with a description of Fowler's enterprise patterns. Layering Your Application and Separating Your Concerns A description of the Transaction Script pattern followed by the Active Record, with an exercise to demonstrate the pattern using the Castle Windsor project. The Domain Model pattern demonstrated in an exercise with NHibernate and a review of the domain-driven design (DDD) methodology Patterns and principles that can be used construct your objects and how to make sure that you are building your application for scalability and maintainability: Factory, Decorator, Template, State, Strategy, Composite, Specification and Layer Supertype. Design principles that can improve your code's maintainability and flexibility; these include Dependency Injection, Interface Segregation, and Liskov Substitution Principle Service Oriented Architecture, the Facade design pattern, messaging patterns such as Document Message, Request-Response, Reservation, and the Idempotent pattern The Data Access Layer: Two data access strategies are demonstrated to hel, Professional ASP. NET Design Patterns will show you how to implement design patterns in real ASP. NET applications by introducing you to the basic OOP skills needed to understand and interpret design patterns. A sample application used throughout the book is an enterprise level ASP.