Clean Architecture

Clean Architecture

Layercake of frozen music

Over time, software architecture has been defined in many different ways. Formal definitions have stated that it is
the fundamental composition of a system, or the way top level components are put together. Others have said it is the decisions that they wish they had made correctly early in a project. But in the end, architecture is all the important things, and they vary from system to system.

Software architecture is important because it helps in
the constant evolution of a system without making it too expensive or prohibitive. Clean architecture was first intro­duced by Robert C. Martin with a blogpost in 2012 and aims to do just that. So, what is clean architecture, whenand where should it be used?

Es kann so schön sein, nach einem anstrengenden Arbeitstag die Lieblingsserie weiter zu schauen, ein Konzert zu genießen und sich von einem Roman fesseln zu lassen. Es fühlt sich an wie eine kleine Auszeit – ein digitaler oder analoger Mini-Urlaub, auf den man nicht verzichten möchte. Hoch lebe der Eskapismus, wir haben es uns verdient! Schwer ist nur damit aufzuhören, also die Rückkehr in die Realität.

What is clean architecture?

Clean architecture is a software design philosophy which aims to maximise the separation of concerns in a system and promotes the use of clean code
and SOLID principles. The separation of concerns is achieved by splitting the software into layers. A system built following clean architecture:

  • is independent of frameworks as those frameworks are hidden behind interfaces and can be easily switched.
  • is testable since the business rules are not dependent on any other layer.
  • is independent of any UI or database as those can be switched out easily like the frameworks.
Layers of clean architecture

Read the whole article in the new UXMA Trend Report 2022!


Free Download!