Exforsys

Home arrow Technical Training arrow C Sharp Tutorials

Software Architecture & Design Patterns

Author : Exforsys Inc.     Published on: 26th Nov 2005    |   Last Updated on: 28th Nov 2010

Software Architecture & Design Patterns

This article reviews some of the architecture Design patterns for Enterprise Applications built using the .NET Platform.

Ads

Application Architecture:

Software Applications come in all shapes and sizes. Based on their design and architecture enterprise applications can be classified into various categories such as:

* Distributed Applications
* Web Applications
* Web Services
* Smart Client Applications

This article reviews some of the architecture Design patterns for Enterprise Applications built using the .NET Platform.

Simply put Application architecture is:

- Set of significant decisions about how a software system is organized
- Selection of the elements that the system comprises of
- Interfaces of the elements
- Behavior of these elements
- Interaction of these elements within the system and with other systems

What are Design Patterns?

A Software design pattern provides us a general solution to a common problem in software design.

It is a description or template for how to solve a problem.

Large majority of Software development teams tend to face similar problems in Software development.

Patterns provide us reusable solutions to commonly encountered programming challenges

This helps us speed up the Design and overall Development Time and Effort thereby resulting in cost savings. At the same time since these patterns are time tested they provide solutions with known benefits and drawbacks. Over a period of time patterns get improvised and new patterns emerge.

There are various types of Software Design Patterns:

Design patterns can be classified based on multiple criteria, the most common of which is the basic underlying problem they solve.

List below are some of the most important categories of Software Design Patterns:

A) Creational patterns:

Creational design patterns deal with object creation mechanisms

B) Structural patterns:

Structural design patterns focus on relationships/interfaces between entities and objects

C) Behavioral patterns:

Behavioral design patterns focus on common communication patterns between objects.

Design Patterns on the .NET Platform:

Some of the design patterns used with .NET :

A) Creational Patterns:

* Factory Method
* Abstract Factory
* Builder
* Prototype
* Singleton

B) Structural Patterns:

* Adapter
* Bridge
* Composite
* Proxy

C) Behavioral Patterns:

* Iterator
* Observer



 
This tutorial is part of a C Sharp Tutorials tutorial series. Read it from the beginning and learn yourself.

C Sharp Tutorials

 

Comments