Software architecture is something that is hard to define in a single statement. However, to summarize, the architecture of an application is its whole design, together with how its blocks/modules/layers interact with each other and with the related documentation.
As explained in the previous chapter, different designs produce different pros and cons in terms of the various aspects of performance. Here, we will dive into the most used/misused architectural techniques and solutions, in search of the best for our performance goals.
In this chapter, we will focus on the following topics:
Software architecture
Performance concerns about the architecture
Object-oriented design principles
Common designs and architectures
Common platform architectures
Performance considerations