Модульность
Управление зависимостями
Зависимости через абстракцию
Когда-то очень давно было:
А теперь почти всегда:
Пример для понятности:
– самая высокая связанность между модулями
+ создание объектов по требованию
– повторное использование объектов
– много шаблонного кода
+ низкая связанность между модулями
– создание по требованию
+ повторное использование объектов
– высокая сложность, много вспомогательного кода
– высокая связанность между модулями
+ создание по требованию
+ повторное использование объектов
+ низкая сложность, мало шаблонного или вспомогательного кода
– сложность тестирования
+ статический контроль
+ низкая связанность между модулями
– зависимость на центральном объекте
– создание по требованию
+ повторное использование объектов
+ низкая сложность, мало шаблонного или вспомогательного кода
+ упрощенное тестирование
– отсутствие статического контроля
+ низкая связанность между модулями
– зависимость на центральном объекте
+ создание по требованию
+ повторное использование объектов
+ низкая сложность, мало шаблонного или вспомогательного кода
+ упрощенное тестирование
– отсутствие статического контроля
+ низкая связанность между модулями
+ нет зависимости на центральном объекте
+ создание по требованию
+ повторное использование объектов
+ низкая сложность, мало шаблонного или вспомогательного кода
+ упрощенное тестирование
– отсутствие статического контроля
– сложность реализации, понимания, контроля