Learning what exactly architecture is
Many developers are confused between architecture and what we call a “design pattern”. We previously touched on that when we discussed the different layers of knowledge (under the Understanding the importance of architecture section), and even though it sounds like a semantic difference, it’s crucial to understand the distinction. While architecture refers to the high-level organization of our app, such as layers, modules, and components, design patterns are reusable solutions to common problems.
To explain that better, let’s imagine a building. When planning a private house, we must decide its number of floors, entrance, roof, and garage In short, this is the house’s architecture.
In contrast, each floor has its own goal and designation. For example, one floor can be the kitchen and living room, and the second would be the bedrooms. To accomplish that, we need to plan the internal design for each floor...