▪ Instead of using layered architecture with horizontal logical
layers, we can organize our code across vertical slices of
business functionality.
▪ These slices are determined based on business demands,
rather than enforced by technical constraints.
▪ When we add or change a feature in an application, our
changes are scoped to the area of business concern not
technical logical layers.
▪ With the modular monolith architecture, organize our codes
as a vertical slices, and as our system continues to grow,
organizing our code around of business functionalities into
Modules.
▪ Modules can be a potential microservices when need to
independently deployed and scale in the future refactorings
our architecture
https://sookocheff.com/post/architecture/making-modular-monoliths-work/