Architecture Patterns and Styles Categories



Architecture Patterns / Styles Categories:

  • Communication
    • Service-Oriented Architecture (SOA)
    • Message Bus
  • Deployment
    • Client/Server
    • 3-Tier
    • N-Tier
  • Domain
    • Domain Driven Design
  • Structure
    • Component-Based
    • Object-Oriented
    • Layered Architecture


○ Service-Oriented Architecture (SOA)

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

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


○ Client/Server

■ Segregates the system into two applications, where the client makes requests to the server. In many cases, the server is a database with application logic represented as stored procedures.

○ 3-Tier / N-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.


○ Domain Driven Design

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


○ Component-Based

■ Decomposes application design into reusable functional or logical components that expose well-defined communication interfaces.

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

○ Layered Architecture

■ Partitions the concerns of the application into stacked groups (layers).