Architectural Patterns and Styles

Architectural Styles and Patterns are set of principles that shape the application. These styles describe different aspects of applications. For example, some architectural style describe deployment pattern, some describe communication , some describe structural and design issues .therefore, typical applications use a combination of more than one style.

The following table lists the major areas of focus and the corresponding architectural styles

Category

Architectural Styles

Communication

Service Oriented Architecture (SOA ) – Message Bus

Deployment

Client/Server, N-Tier , 3-Tier

Domain

Domain Driven Design

Structure

Object-Oriented , Layered Architecture , Component – Based

The following table list architectural styles and brief description about of each style

Architecture style

Description

Client\Server

Segregates the system into 2 applications ,where the clients make requests to the server

An object-oriented architectural style focused on modeling a business domain and defining business objects based on entities within the business domain.

Layered Architecture

Partitions the concerns of the application into stacked layers

Message Bus

An architecture style that prescribes use of a software system that can receive and send messages using one or more communication channels, so that applications can interact without needing to know specific details about each other.

N-Tier/3-Tier

Segregates functionality into separate segments in much the same way as the layered style, but with each segment being a tier located on a physically separate computer.

Object-Oriented

A design paradigm based on division of responsibilities for an application or system into individual reusable and self-sufficient objects, each containing the data and the behavior relevant to the object.

Service-Oriented Architecture( SOA)

Refers to applications that expose and consume functionality as a service using contracts and messages.