Understanding Architectural Styles

As I mention in Chapter 1, architectural style is like the style of a house. It may define a ranch house, which sprawls horizontally in one story, or a Cape Cod house, which is a two-story structure with a distinctive arrangement of doors and windows on its facade.

In software development, architectural style refers to the general shape of the system. Choosing the appropriate style is important because all the later design decisions are made in the context of this style and in concert with the style. A system may have a streaming style, like Pipes and Filters (see Chapter 10), or it may have an interactive style that's shaped by Model-View-Controller (MVC; see Chapter 13). The choice of appropriate style is important to your system's success.

Elements of styles

The style defines features and rules that shape the architecture, such as the following:

  • The basic building blocks of an architecture style: What the key elements are and how the components and services are typically named.
  • The connections between the basic building blocks: How components communicate with other components.
  • The rules that specify how the services may be combined and used together.
  • The family of solutions: All streaming solutions, for example, will resemble Pipes and Filters (see Chapter 10), even if they're quite complex and diverse.
  • The contexts and problem situations in which the style is most useful.

Patterns and architectural styles

The architectural patterns that ...

Get Pattern-Oriented Software Architecture For Dummies now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.