ASP.NET 3.5 Application Architecture and Design
eBook - ePub

ASP.NET 3.5 Application Architecture and Design

Application Architecture and Design

  1. 260 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

ASP.NET 3.5 Application Architecture and Design

Application Architecture and Design

About this book

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. 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!

Trusted by 375,005 students

Access to over 1.5 million titles for a fair monthly price.

Study more efficiently using our study tools.

Information

Year
2008
Edition
1
eBook ISBN
9781847195517

ASP.NET 3.5

Application Architecture and Design

Vivek Thakur


Table of Contents

ASP.NET 3.5
Credits
About the Author
About the Reviewers
Preface
What This Book Covers
What You Need for This Book
Who is This Book For
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Piracy
Questions
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
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
3. ER Diagrams, Domain Model, and N-Layer Architecture
Entity-Relationship Diagram
Degree and Cardinality of a Relationship
OMS Project using 2-Layer
Sample Project
Domain Model using UML
Class Diagram
UML Relationships
Dependency Relationship
Association Relationship
Aggregation
Composition
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
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
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
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
Step 1: Create an Interface
Step 2: Create an Implementation
Step 3: Create another Implementation
Step 4: Create a Factory Class
Step 5: Implement the Configuration Settings
Step 6: Implement another Custom Algorithm
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
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
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
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
Index

ASP.NET 3.5

Application Architecture and Design

Copyright © 2008 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: October 2008
Production Reference: 1171008
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-847195-50-0
www.packtpub.com
Cover Image by Nilesh Mohite ()

Credits

Author
Vivek Thakur
Reviewers
Jerry Spohn
Ian Robinson
Tim Eisenhauer
Acquisition Editor
Adil Rizwan Ahmed
Development Editor
Ved Prakash Jha
Technical Editors
Rakesh Shejwal
Shadab Khan
Editorial Team Leader
Akshara Aware
Project Manager
Abhijeet Deobhakta
Project Coordinator
Lata Basantani
Indexer
Monica Ajmera
Proofreader
Dirk Manuel
Copy Editor
Sumathi Sridhar
Production Coordinator
Shantanu Zagade
Cover Work
Shantanu Zagade

About the Author

Vivek Thakur is passionate about architecting and developing applications based on the 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 the ASP.NET forums. Vivek's passion for ASP.NET has been formally recognized by way of 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 on 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 for different software firms across India.
Vivek received his Bachelors degree in engineering from the Indian Institute of Technology (IIT), New Delhi, India.

Table of contents

  1. ASP.NET 3.5

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.5M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1.5 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access ASP.NET 3.5 Application Architecture and Design by Vivek Thakur in PDF and/or ePUB format, as well as other popular books in Computer Science & Information Technology. We have over 1.5 million books available in our catalogue for you to explore.