Interested to know more about Software Architecture and started reading Design Principles and Design Patterns Paper by Robert C Martin. I was confused at the below highlighted statement,
What is software architecture? The answer is multitiered. At the highest level, there are the architecture patterns that define the overall shape and structure of software applications1. Down a level is the architecture that is specifically related to the purpose of the software application.
I understand the first level is all about the Architectural patterns that we use like MVC, MVVM, MVP and others. What does the second level mean? what does architecture specifically related to the purpose of the software application mean in this context?
Is my understanding for the first level is correct?
It would be very great for me to know this more clearly. Please explain the two levels in detail if my view on this context is not correct.
Yes, your understanding of the first level is correct. That’s the overarching architectural pattern such as MVVM, MVC, or whatever.
Think of the second level as the architecture of your model. Your application may be modeling some process or behavior in the real world, such as selling custom T-shirts, where people add some artwork, select a shirt by style and color, then add quantities of sizes. You might then design your application’s architecture around the process of filling a shopping cart.