Architecture Patterns / Styles Categories:
- Service-Oriented Architecture (SOA)
- Message Bus
- Domain Driven Design
- 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.
■ 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.
■ Decomposes application design into reusable functional or logical components that expose well-defined communication interfaces.
■ 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).