Styles vs Patterns
Different people have expressed different opinions about the difference between a pattern and a style. Several people distinguish between these two concepts, and others use them interchangeably. The following are some insights about these two terms:
They are sometimes used separately, sometimes interchangeably
The distinction between architectural styles and architectural patterns is not clearcut and you will undoubtedly find examples where it is hard to differentiate them. As systems get larger, it is more common to see systems-of-systems, where a system that was freestanding is now incorporated into a larger system. If the original freestanding system had an architectural style, but it is now subordinate to the larger system’s style, does that demote it to an architectural pattern? Probably. So instead of worrying about categorizing something as an idiom, a design pattern, an architectural pattern, or an architectural style, you can safely call them all patterns, and probably use the terms architectural pattern and architectural style as synonyms. [1]
the terms architectural style and architectural pattern are both commonly used, with no widely accepted definition of whether they’re the same thing or not. We haven’t found it very useful in practice to separate these possibly different, but rather similar concepts, and so for our purposes, while we may not be entirely correct, consider the two terms to be synonyms. [2]
You can think of an architectural style as being a particular kind of pattern, albeit an often complex and composite pattern (several patterns applied together). [5]
They have three differences according to Frank Buschmann [4]
Architectural styles only describe the overall structural frameworks for applications. Patterns for software architecture, however, exist in various ranges of scale, beginning with patterns for defining the basic structure of an application (architectural patterns) and ending with patterns that describe how to implement a particular design issue in a given programming language (idioms)
Architectural styles are independent of each other, but a pattern depends on the smaller patterns it contains, on the patterns with which it interacts, and on the larger patterns in which it is contained.
Patterns are more problem-oriented than architectural styles. Architectural styles express design techniques from a viewpoint that is independent of an actual design situation. A pattern expresses a very specific recurring design problem and presents a solution to it, all from the viewpoint of the context in which the problem arises.
Granularity vs Articulation
Granularity -> An indication of the size of the asset in relation to other assets.
Articulation -> The extent to which the asset provides a concrete implementation.

Scope vs Application Domain Knowledge

References
Last updated