Пролог
В этой статье я не буду детально разбирать всю теорию, связанную с архитектурой модульного монолита и Domain Driven Design, вы можете найти множество материалов в сети или книгах, где авторы уже детально объяснили все аспекты этой темы.
Мною будет продемонстрирована тактическая реализация этих идей на языке Python, так как для него это не слишком часто встречающаяся тема в виду его динамичности и менее строгих правил написания кода, нежели в строго типизированных языках, где изначально и зародились эти идеи. Для понимания происходящего в этой статье я настоятельно рекомендую сначала изучить теорию, ссылки на полезную литературу вы сможете найти в конце статьи*.
Вся предложенная информация исходит из моего практического опыта написания веб приложений на Python, что однако не является истинной в последней инстанции абсолютно для каждого проекта и вы вполне можете быть не согласны с позицией, изложенной ниже, поэтому любая обоснованная критика приветствуется.