CodeSOD: Обоснованное развитие Заметка
The Daily WTF на русском

CodeSOD: Обоснованное развитие

Разработчики должны с осторожностью относиться к догмам, окружающим такие методологии, как разработка через тестирование или разработка, управляемая предметной областью. Хотя сама разработка, управляемая предметной областью (DDD), является здравой практикой, ее принципы могут применяться слишком жестко, что приведет к негативным последствиям. Основная идея DDD заключается в абстрактном моделировании бизнес-домена, отделенном от технических деталей. Это позволяет создавать более эффективную и адаптированную логику предметной области. Однако команда, хвастающаяся своим соблюдением DDD, особенно с использованием множества модных словечек, может быть тревожным сигналом.Пример иллюстрирует эту проблему: класс "домена" для CakeSessionRepositoryInterface явно нарушает принципы DDD. Репозиторий в DDD должен абстрагировать хранение данных для объектов предметной области. Он не должен выполнять проверки аутентификации, взаимодействовать с файлами cookie, управлять информацией о сеансе или быть привязанным к конкретному веб-фреймворку, такому как CakePHP. Предоставленный фрагмент кода, несмотря на свою краткость, демонстрирует фундаментальное непонимание и неправильное применение DDD. Это говорит о том, что команда на самом деле не практиковала DDD, а скорее придерживалась поверхностной интерпретации. Неправильное применение DDD подчеркивает опасность обращения с методологиями как с жесткой догмой.