Abstractions
Learn what it means to have layers of abstraction in a software architecture.
We'll cover the following...
This is where encapsulation appears again. When it comes to our systems (as we do in relation to code), we want to speak in terms of the domain problem and leave the implementation details as hidden as possible.
The architecture of a system
In the same way that code has to be expressive (almost to the point of being self- documenting) and have the right abstractions that reveal the solution to the essential problem (minimizing accidental complexity), the architecture should tell us what the system is about. Details such as the solution used to ...