According to Google, the word dimension has a few meanings. Let's use the following definition, which fits into the context that we will discuss in this section:
Starting with this definition, we will consider dimensions as the aspects or features that will influence and guide the software architectures that we build.
In the previous chapter, we talked about the importance of understanding the business domain when crafting our solutions. Of course, this knowledge is not enough when it comes to generating a system that is able to address all business needs. You will also need to think about the mechanisms for supporting these solutions from a technical viewpoint, without forgetting the business requirements. As technical people, we need to provide a solution that can evolve with the passage...