Using SOLID Principles with Hexagonal Architecture
The idea of having a set of principles to help us develop better software amuses me. Over the years, programmers have faced many problems; some happened so often that patterns to solve such issues emerged, giving rise to the so-called design patterns. These patterns have been employed to solve specific software development problems. Complementing design patterns that act more on recurrent and specific coding problems, ideas have emerged on tackling maintainability problems in software projects. A remarkable and influential set of those ideas has been synthesized into what is known as SOLID principles.
This chapter will explore SOLID principles and how we can tap into them while using hexagonal architecture. We will start by reviewing each principle, and then we will proceed to see how they can be applied in the context of a hexagonal system. Finally, we will discuss how design patterns, such as builder and abstract factory, can...