Модульный монолит — что это, как проектировать модули, bounded contexts и чем он отличается от микросервисов. Полное руководство с диаграммами
Предметно-ориентированное проектирование: как сделать код понятным, гибким и отражающим реальный мир