Architecture Patterns and Styles Categories

Architecture Patterns / Styles Categories:


  • 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 the 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 (3 or more) 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 the 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).  
  • Microservices architecture style