ASP.NET 3.5 Application Architecture and Design

ASP.NET 3.5 Application Architecture and Design
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 40%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
save 56%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters


  • Master the architectural options in ASP.NET to enhance your applications
  • Develop and implement n-tier architecture to allow you to modify a component without disturbing the next one
  • Design scalable and maintainable web applications rapidly
  • Implement ASP.NET MVC framework to manage various components independently


Book Details

Language : English
Paperback : 260 pages [ 235mm x 191mm ]
Release Date : October 2008
ISBN : 1847195504
ISBN 13 : 9781847195500
Author(s) : Vivek Thakur
Topics and Technologies : All Books, Microsoft Development , Web Development, Architecture & Analysis, Microsoft, .NET

Table of Contents

Chapter 1: Introduction to Architecture and Design
Chapter 2: 1-Tier 1-Layer Architecture in ASP.NET
Chapter 3: ER Diagrams, Domain Model, and N-Layer Architecture
Chapter 4: N-Tier Architecture
Chapter 5: Model View Controller
Chapter 6: Design Patterns
Chapter 7: SOA and WCF
Chapter 8: Database Design
Chapter 9: Localization
  • Chapter 1: Introduction to Architecture and Design
    • Software Architecture
    • Software Design
    • Architectural Styles
    • Architecture and Design in ASP.NET
      • Technology and Art
    • Architecture: First Steps
    • Design Patterns
    • Project Life Cycle
      • Project Initiation
      • Project Planning and Prototyping
        • Project Plan
        • Use Case Design
        • Prototyping
        • Class Model
        • Database Model
      • Project Construction: Programming and Development
      • Project Transition and Release
    • Tiers and Layers
      • Physical Separation
      • Logical Separation
      • Single Tier—Single Layer Model
      • Single Tier—Two Layer Model
      • Single Tier—Three Layer Model
      • Two Tier Model
      • Two Tier—Two Layer Model
      • Three Tier Model
    • Summary
  • Chapter 2: 1-Tier 1-Layer Architecture in ASP.NET
    • Default N-Tier Nature of Web Applications
    • Classic ASP Style: Inline Coding
      • Sample Project using Inline Code
    • Code-Behind Model: The Second UI Layer
      • Sample Project using Code-Behind
      • Limitations of Coding in the UI Layer
    • Data Source Controls
      • A Sample Project using inbuilt Data Source Controls
    • Summary
  • Domain Model using UML
    • Class Diagram
    • UML Relationships
      • Dependency Relationship
      • Association Relationship
      • Generalization Relationship
      • Realization Relationship
      • Multiplicity
  • 1-tier 3-layer Architecture using a Domain Model
    • Layer 1: Data Access Layer (DAL)
    • Layer 2: Business Layer (BL)
    • Layer 3: The UI Layer
  • Object Data Source Controls
  • Summary
  • Chapter 4: N-Tier Architecture
    • Why N-Tier?
      • Performance
      • Scalability
      • Re-usability
      • Loose-Coupling
      • Plug and Play
    • A 4-Tier Approach
    • 5-Tier Architecture
      • Data Transfer Objects
      • Lazy Loading
      • Updating Business Objects
      • GUI Tier
      • Generics and Custom Collections
    • Summary
  • Chapter 5: Model View Controller
    • Page Controller Pattern in ASP.NET
      • Problems with Page Controller Design
      • GUI Unit Testing
    • MVC Design: A Front Controller based Approach
      • Front Controller Design
      • Basics of MVC
      • REST: Representation State Transfer
      • MVC and REST
    • ASP.NET MVC Framework
      • Sample Project
      • URL Routing Engine
      • The Controller
      • The View
      • The Model
      • Wiring Controller, Model, and View
      • Unit Testing and ASP.NET MVC
    • Summary
  • Chapter 6: Design Patterns
    • Understanding Design Patterns
      • History of Patterns
      • Singleton Pattern
        • Understanding Singleton with Code Example
      • Factory Method
        • Core Principle: Programming to an Interface instead of an Implementation
        • The Need for Factory Design
      • Dependency Injection
        • Basic Approach
      • Command Design Pattern
        • Decoupling the GUI completely from the BL
        • Creating the Command Interface
        • Creating the Value Objects
        • Creating the Command Factory
      • Tying it all up with the GUI
    • Summary
  • Chapter 7: SOA and WCF
    • Understanding Application Size, Scope, and Granularity
      • Small Applications Versus Big Applications
      • Tight and Fine-Grained Domain Model
      • Coarse-Grained Model
    • What is SOA?
      • Why SOA?
      • Service Orientation
      • XML Web Services and SOAP Messages
    • Sample Project
      • Building a Service Interface
      • Consuming Services
    • Windows Communication Foundation
      • Sample Project using WCF
    • Summary
  • Chapter 8: Database Design
    • The Importance of a Database
      • Selecting the Right Database
    • Database Architecture and Design
      • Database Plan
      • Logical Design
      • An Example of a Logical Model
      • The Need for a Logical Data Model
      • The Domain Model Versus the Logical Data Model
    • Physical Data Model
      • Data Integrity
      • Normalization
    • Data Modeling using MS Visio
      • Creating Physical Tables
      • Creating Relationships
    • Summary
  • Chapter 9: Localization
    • Globalization and Localization
      • Browser Settings
    • Basic Steps for Globalizing an ASP.NET Website
      • Culture and Locale
        • How do we Define or Change the Current Culture?
        • Switching Locale
      • Resource Files
        • Global Versus Local Resources
        • Creating Global Resources
        • Creating Local Resources
      • Choosing between Global and Local Resources
        • Satellite Assemblies
      • Implicit Versus Explicit Localization
    • Incorporating Globalization
      • Setting the Culture of the Thread Based on User Selection
      • dir Attribute for Language Direction
      • Editing Resource Files after publishing in ASP.NET 3.5
      • Entering Foreign Language Characters: Input Method Editor (IME)
    • Using a Database for Localization
      • Custom Resource-Provider-Model in ASP.NET
    • Summary

Vivek Thakur

Vivek is passionate about architecting and developing applications based on Microsoft .NET platform using ASP.NET, C#, VB.NET, and MS AJAX. He has authored several technical articles on ASP.NET and has also been an All-Star-level contributor on ASP.NET forums. Vivek’s passion for ASP.NET has been formally recognized by the Most Valuable Professional (MVP) award given to him by Microsoft in April 2007, and again in 2008. He is also a Subject Matter Expert for Microsoft ASP.NET 3.5 Certification Exams. He is a leading contributor and moderator in the CodeAsp.Net forums. Vivek is currently working as the Managing Partner in Axero Solutions LLC, a US-based software product development and business consulting firm.

Although his expertise lies in Microsoft's .NET platform, Vivek is also knowledgeable in J2EE and C/C++. He has a deep interest in programming, chaos theory and artificial intelligence, and is a strong advocate of chaos theory in software systems and management.

Besides his love for software architecture and design, Vivek also focuses on project management skills and has substantial experience in managing small to medium sized projects. He has also conducted numerous training sessions and provided concept-based tutoring in different software firms across India.

Vivek received his Bachelors degree in engineering from the Indian Institute of Technology (IIT), New Delhi, India.

Contact Vivek Thakur

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

ASP.NET 3.5 Application Architecture and Design +    Oracle BPM Suite 11g Developer's cookbook =
50% Off
the second eBook
Price for both: $45.15

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Explore different architectural options while creating web solutions – tiers, layers, and logical structuring
  • Master the concept of n-tier architecture and used design patterns in ASP.NET
  • Implement the new ASP.NET MVC design in your applications
  • Build an SOA application and see how WCF compliments it
  • Design scalable and maintainable applications
  • Deploy your localized applications and learn the best practices for your localization framework
  • Learn better database design that can go with your application
  • Explore best practices on how to globalize your commercial web applications

Chapter 1: Introduction to Architecture and Design. This chapter will introduce you to architecture and design in ASP.NET, including tiers, layers, and logical structuring.

Chapter 2: 1-Tier 1-Layer Architecture in ASP.NET. This chapter discusses the advantages and disadvantages of using the simplest and easiest 1-tier, 1-layer default architecture in ASP.NET. Readers will also understand when and why we should use out-of-the-box data source controls, and how 1-tier and 1-layer style is tightly coupled and not flexible or scalable.

Chapter 3: ER diagrams, Domain Model and n-Layer Architecture. This chapter discusses what an ER diagram is, the domain model, the basics of UML, what an n-layer design is, and how it increases flexibility and maintainability of the code compared to a 1-layer architecture. A sample project is explained with code in a 3-layer model. The drawbacks/limitations of this model are also discussed.

Chapter 4: N-Tier Architecture. This chapter talks about n-tier architecture in ASP.NET and how to implement it. It also explains the Data Transfer objects and how to use them, 4-tier and 5-tier web solutions.

Chapter 5: MVC Design and ASP.NET MVC Framework. In this chapter you will learn and understand what MVC design is and how ASP.NET MVC framework helps us quickly implement MVC design in our web applications.

Chapter 6: Design Patterns. In this chapter you will learn how and when to use the most common design patterns in ASP.NET: Factory, Dependency Injection, Singleton, and others.

Chapter 7: SOA and WCF. This chapter explains why we need SOA, explaining the advantages of SOA for a beginner. A sample project using SOA architecture is discussed. The chapter also teaches how the Windows Communication Framework compliments SOA.

Chapter 8: Best Practices in Database Design. This chapter deals with the importance of a well designed database, balanced normalization, logical and physical models, tips and tricks for better database models.

Chapter 9: Localization. This chapter covers localization for ASP.NET applications, deployment of localized applications, localization framework, and best practices.

In Detail

Application architecture is an essential skill for ASP.NET developers. It is always tempting to jump in and start coding, but planning your architecture early in the project will leave you with a solid application that scales well, is easy to modify and extend, and saves you time and effort later on. As businesses struggle to control their costs, writing solid code that can be extended easily is becoming even more important.

This book takes a pragmatic approach to Application Architecture in ASP.NET 3.5. It presents a series of common architectural models, and shows how to select the best ones for your project and apply them.

The book begins by showing you how to use the main architectural models in your applications. You will see how to implement n-tier architectures, MVC, design patterns, and more. But this is no software engineering theory book – it is a practical, hands-on guide that shows you how to use these techniques in your software straight away. We then go on to build SOA (Service-Oriented Architecture) applications with the Windows Communication Framework (WCF). Finally the book contains some essential guidance on effective database design, and a chapter on localizing your applications.

This book is a great way to learn ASP.NET Architecture in a practical, hands-on way. It will also serve as a quick reference for improving your application design.

This book will show you how to develop better web applications in ASP.NET with strong focus on practical aspects of architecture and design.


This is a practical hands-on book with clear instructions and lot of code examples. It takes a simple approach, guiding you through different architectural topics using realistic sample projects.

A single project is implemented using different architectural styles to make the reader understand the details of each style. There are also many small independent code samples to explain design patterns, WCF, and localization.

Who this book is for

This book is for people familiar with the ASP.NET framework using either C# or VB.NET. You don’t need to be an ASP.NET guru – the book is ideal for novice and intermediate developers.

If reading about application architecture usually confuses you or sends you to sleep, then this book will be perfect for you! In short, any ASP.NET programmer who is confused or disoriented reading different books or materials on architectures wondering how and what to implement in their application, will definitely benefit from this book!

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software