Unity 3D Dependency inversion principle

2075 / Unity / 2D / 3D / Шаблони / SOLID / Dependency inversion principle

 

Принцип інверсії залежностей

Залежності всередині системи будуються на основі абстракцій, що не повинні залежати від деталей; навпаки, деталі мають залежати від абстракцій. Модулі вищих рівнів не мають залежати від модулів нижчих рівнів

Точка входу

Extenject Dependency Injection IOC

 


 

Приклад

Замовник хоче, щоб гра ще й вийшла на мобільних, а наш клас MovementHandler залізно прив'язаний до клавіатури. Тут ми втрачаємо гнучкість в архітектурі – порушуємо Dependency inversion principle

Ми маємо залежати від абстракцій, аби була можливість підставити інший код

Але за гнучкість ми платимо менш конкретним та читабельним кодом

 


 

Якщо ми точно знаємо, що нам потрібна гнучкість в цьому напрямку – тоді ми використовуємо цей принцип