Although software architecture is not only about coding, a software architect is still required to have a vast knowledge about development in general and about design patterns in particular. In this chapter, we will explore some of the most frequent design patterns. We will be looking closely at code-related concerns.
We will more specifically cover the following topics:
- Understanding design patterns and their purpose
- Reviewing the Gang of Four (GoF)
- Delving into the most recurrent patterns and applying them to a use-case scenario
- Looking at clean architecture
- My top 10 code smells
This chapter should help you grasp the most recurrent design patterns and how to make use of them in your software architecture practice. These patterns must be well understood because they impact quality attributes such as modifiability, extensibility, reliability, maintainability, testability, scalability, and everything...