Decorator (Проблематика), Dependency Inversion, UML/OOP зв'язки, T/S

Описание к видео Decorator (Проблематика), Dependency Inversion, UML/OOP зв'язки, T/S

В глибокому зануренні в проблематику, яку покликаний вирішувати паттерн проектування Декоратор, відео зачіпає питання Принципу Інверсії Залежностей, робить ревізію UML/OOP зв'язків (з особливим акцентом на наслідуванні реалізації) і фіналізується в(и)веденням принципу T/S -- Type/Structure Separation (Відділення типів від структур).

Відео створено в рамках циклу Patternarhat, центральною лінією якого є паттерни проектування, а основним продуктом -- критичний перегляд підходів і принципів в сучасній інженерній думці світу програмування.

00:00:00 Про Patternarhat
00:00:38 Вступне про Decorator
00:01:15 Про що відео
00:01:49 Приклад Fighting
00:02:34 Наївний дизайн Fighting-у на базі реалізації інтерфесу
00:03:58 Розширяємо наш Fighting (додаємо мечі і щити нашим бійцям)
00:06:14 Проблеми розширення дизайну, коли кожна комбінація бійця потребує окремого класу
00:07:58 Задіюємо наслідування реалізації (які з цим проблеми)
00:11:32 Коли порядок має значення, а наслідування безсиле
00:13:47 Фантазії про підміну базового класу
00:16:02 Швидкий поверховий аналіз видів наслідування. + Окреслення того факту, що наслідування реалізації не валідне з точки зору Принципу Інверсії Залежностей
00:20:04 Приклад з бункером. + Композиція
00:24:10 Чи призводить заміна композиції на агрегацію до інвертованої залежності?
00:27:17 Підсумок жорсткої спайки у випадках композиції і агрегації класів
00:28:29 Реалізація бункера по феншую (з підтримкою інверсії залежностей)
00:34:47 "Інвертована" агрегація
00:35:04 Чи можлива "інвертована" композиція
00:40:47 UML Dependency - це не те що всі звикли Dependency називати
00:48:42 Направлена асоціація
00:49:58 Підсумуємо UML Зв'язки Рівня Екземплярів (+ ненаправлена асоціація)
00:51:21 UML Зв'язки Рівня Класів
00:54:20 Два приклади наслідування реалізації на бункері (демонстрація жорсткої спайки при наслідуванні; очікування декоратора)
01:00:37 Підсумовуємо UML зв'язки в розрізі Інверсії Залежностей у таблиці (відмічаємо стрілки, які не можуть йти від інтерфейсу; вводимо стрілку знання)
01:05:55 Роздуми про те, чому погані зв'язки в принципі можливі
01:07:18 Позбавляємо клас здатності оголошувати тип
01:10:59 Як вплинув клас без типу на таблицю зв'язків
01:14:35 Підсумки про Принцип Інверсії Залежностей (як його назва виражається через зв'язки на рівні класів/інтерфейсів)
01:17:23 T/S, Type/Structure Separation Principle, Принцип Розділення Типу і Структури (весь цинус відео!)
01:19:38 Про наступне відео і прощання
01:19:52 Outro

Комментарии

Информация по комментариям в разработке