Skip to main content

What is architecture?

When we talk about software architecture we can think in the same way as we build a house. We have multiple pieces that compose a house and we have blueprints on how to build it, the same concept applies to software.

Architecture represents the significant decisions that shape a system, where significant is measure by cost of change 1

Grady Booth

Architecture is all the little details that support all the high-level decisions.

We build all those little decisions using different Design Patterns while also following design principles like S.O.L.I.D to guide us on the best way to think about different problem and choose the right abstraction level.

A new developer should be able to see the architecture and realize what the program is supposed to do, the same way that we can see different blueprints and figure out for what are those for, if we see a blueprint from a house and a blueprint for a car, is easy for someone knew to identify what the end result of those blueprints are.


  1. Robert C. Martin. Clean Architecture, First Edition, Prentice Hall, 2017, p. XVII