Why do we need it?

Architecture is an abstraction (a high level one) and we need abstraction to tame complexity and aid understanding.

Architecture suppresses the details of the implementation (data structures / algorithms) and omits information about elements that are not useful in explaining the system at a high level.

We must rely on abstractions to mentally understand systems, because we have limited brain power and cannot comprehend full systems at the more detailed and complex implementation level. Therefore we must introduce higher levels of abstraction and introduce more abstracted patterns.

pyramid

Leave a comment