Принципы
дизайна
ISP – Принцип разделения интерфейсов
14/
44
ISP – определение и пример нарушения
Пример нарушения |
Определения |
|
Необходимо создавать |
|
узкоспециализированные |
|
интерфейсы, предназначенные для |
|
конкретного клиента. |
|
Клиенты не должны зависеть от |
|
интерфейсов, которые они не |
|
используют. |
Москва, весна 2021 г. Объектно-ориентированное программирование систем защиты информации | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики
15/
44
ISP – примеры решения
Решение
Москва, весна 2021 г. Объектно-ориентированное программирование систем защиты информации | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики
Принципы
дизайна
DIP – Принцип инверсии зависимостей
17/
44
DIP – определение и пример нарушения
Пример нарушения |
Определения |
Любой класс, который создаёт внутри |
Объектом зависимости должна быть |
себя экземпляр конкретного класса |
абстракция, а не что-то конкретное |
или получает его в качестве |
|
параметра |
|
Москва, весна 2021 г. Объектно-ориентированное программирование систем защиты информации | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики
18/
44
DIP – примеры решения
Решение
Использовать интерфейсы и передавать зависимости в виде параметров методов и конструкторов
Москва, весна 2021 г. Объектно-ориентированное программирование систем защиты информации | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики