Источник: Nuances of Programming Модульность — актуальная тема современных разработчиков. Благодаря ей повышаются эффективность и удобство восприятия, уменьшается связанность, так что над кодовой базой одновременно работают разные команды. Однако, применяя модульную организацию систем, многие разработчики попадают в ловушку вертикальных архитектур. Рассмотрим систему из трех отдельных модулей: SoundView модуля A зависит в этом сценарии от SoundButtonView модуля B, а тот — от SoundService модуля C. Так формируется вертикальная цепочка модулей с заметным усилением зависимости верхних, таких как A, от нижних — B и C. Изменения в нижестоящем модуле чреваты нарушением функциональности вышестоящих, из-за такой многоуровневой структуры зависимостей время компиляции увеличивается, освоение системы усложняется: Горизонтальная структура с внедрением зависимостей — решение поэлегантнее. При таком расположении модуль A не «знает» о B или C, и наоборот. Преимущества такого подхода: Горизонт
Внедрение зависимостей для создания элегантных горизонтальных архитектур
17 января 202417 янв 2024
22
3 мин