Please enable JavaScript.
Coggle requires JavaScript to display documents.
DI. Mark Seeman - Coggle Diagram
DI. Mark Seeman
Принципы проектирования
-
-
Liskov
Методы, потребляющие абстракции, должны иметь возможность воспользоваться любым классом,
полученным из этой абстракции, не замечая разницы
-
-
Антипатерны
Определение
Часто встречающеес решение проблемы, порождающее явные негативные последствия, хотя хотя на ряду с ним существуют и другие задокументированные решения, доказаышие своб эффективность
Диктотор
Управление зависимостями осуществляется напрямую. Вызывается в любо месте, кроме корня композиции
new, вместо передаи зависимости
-
Локатор сервисов
предоставление компонентам, не входящим в корень композиции, доступ к неограниченному набору нестабильных зависимосте
-
-
-
шаблоны проектирования
Прокси(Заместитель)
Предоставляет заместитель для другого объекта для управления доспом к нему.
Реализуется такой же интерфейс
-
-
-
-
Проблемный код
Это не имеющийс факт, а намек, что в коде может быть что-то не так
-
-
-
-
Область применения
-
Время жизни объекта
Не нужна знать, когда был создан объект
-
-
Время жизни объектов
-
Синглтон
Постоянное повторное использование единственного экземпляра(если разные компоновщики - будут разные экземпляры)
-
Зависимости
Стабильные зависимости
модули баковой библиотеки классов. Они стабильны, т.к написаны и давно используются
-
-
-
Преимущества от DI
Позднее связывание
-
Расширяемость
Код может быть расширен и повторно использован там, где не предпологалось это использоване
-
-
-
-
Перехват
Возможность перехвата вызова между компонентами с целью обогатить поведение/изменить поведение зависимости без внесения изменения в сам компонент