Dzen.ru Video Downloader

The easiest way to download Dzen.ru video, music, thumbnail without watermark or logo

SOLID принципы / # 3 OCP - Open Closed Principle / Принцип открытости закрытости

TIP! Right-click and select "Save link as..." to download.

Loading...
Подписка на Boosty: https://boosty.to/engineerspock
------------------------------------------------------------------------------------
Курсы от EngineerSpock: https://offer.engineerspock.com/

Донаты на развитие: https://pay.cloudtips.ru/p/1f080f72

SOLID принципы - это большАя часть современной теории ООП (объектно-ориентированного программирования). Впервые сам термин предложил дядя Боб (Uncle Bob), хотя основы для выведения принципов были известны до него и разбирались, например, в известном труде Бертрана Мейера ("Объектно-ориентированное конструирование программных систем").

SOLID расшифровывается так:

S - Single Responsibility Principle (SRP) - Принцип единственной ответственности
O - Open Closed Principle (OCP) - Принцип открытости/закрытости
L - Liskov Substitution Principles (LSP) - Принцип подстановки Барбары Лисков
I - Interface Segregation Principle (ISP) - Принцип разделения интерфейса
D - Dependency Inversion Principle (DIP) - Принцип инверсии зависимости

Следование принципам SOLID в программировании имеет огромную роль с точки зрения написания чистого кода и как следствие максимизации простоты поддержки кода.

В третьем выпуске мы поговорим об OCP - Open Closed Principle или Принцип открытости закрытости. Обсудим частые запахи нарушения OCP и посмотрим на пример нарушения и на то как провести рефакторинг, исправляющий нарушение принципа.

На самом деле, такое определение OCP давалось как Мейером, так и Бобом Мартином. Именно это определение является самым популярным. Однако, если копнуть чуть глубже, то выяснится, что смысл в это определение они вкладывали разный. Расшифрую это определение с точки зрения дяди Боба.
По сути, это определение означает, что когда нам нужно внести изменение, мы не должны глубоко копаться в системе и изменять ее поведение, изменяя десятки классов.

Смысл который вкладывал Мейер в определение OCP больше касается обратной совместимости на уровне API.

00:00 Начало
00:48 Определение принципа открытости закрытости / OCP
01:38 OCP с точки зрения дяди Боба. Как и зачем следовать OCP
05:42 OCP с точки зрения Бертрана Мейера. Защищённая вариация.
06:57 Принцип единого выбора / источника
09:08 Классический пример нарушения OCP
10:28 Рефакторинг для решения проблема нарушения OCP
13:22 Наследование vs Композиция
14:24 Значимость OCP
15:00 Шаблоны проектирования родственные OCP: шаблонный метод и стратегия
16:14 Заключение по OCP / принцип закрытости открытости

Ссылка на репозиторий: https://github.com/EngineerSpock/yout...

#solid #srp #ocp #lsp #isp #dip #oop #cleancode #ityoutubersru

Курсы релевантные данному видео:

Архитектура ПО: Meta и SOLID принципы в ООП с примерами на C# https://bit.ly/2UiuoeY
Архитектура ПО: внедрение зависимостей на C# https://bit.ly/368zugi
Лучшие практики проектирования и реализации API на C# https://bit.ly/3qICNEr

Также можно рассмотреть курс "Изучаем юнит-тестирование с NUnit на C#" https://bit.ly/3dxP9tX