ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

SOLID принципы: OCP (Открытости/закрытости (Open Closed Principle)

Автор: Serhii Nemchynskyi

Загружено: 2020-08-07

Просмотров: 125165

Описание: 📢А теперь объявление, которое многие из вас ждали.
🗓️Новый поток моего авторского, легендарного и единственного курса Enterprise Patterns записанного человеческим, понятным языком, стартует уже 5 мая.
Как обычно, ранние пташки получают лучшую цену на пакет Платинум, а именно: скидку -30%.
⏳Скидка действует до 24.04.
Не медлите, регистрируйтесь сейчас, это именно тот курс, который нужен каждому сеньор-разработчику - https://go.foxminded.ua/3BDbBAL

При́нцип откры́тости/закры́тости (англ. The Open Closed Principle, OCP) — принцип ООП, устанавливающий следующее положение: «программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения»; Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification (Bertrand Meyer)

открыты для расширения: означает, что поведение сущности может быть расширено путём создания новых типов сущностей.
закрыты для изменения: в результате расширения поведения сущности, не должны вноситься изменения в код, который эту сущность использует.
Ценность принципа: нет необходимости в регрессионном тестировании


Термин «принцип открытости/закрытости» имеет два значения:

1. Принцип открытости/закрытости Мейера
2. Полиморфный принцип открытости/закрытости

Бертран Мейер в основном известен как основоположник термина Принцип открытости/закрытости, который появился в 1988 году в его книге Object-Oriented Software Construction, отвечая на вопрос:

1. Как можно разработать проект, устойчивый к изменениям, срок жизни которых превышает срок существования первой версии проекта?
2. однажды разработанная реализация класса в дальнейшем требует только исправления ошибок, а новые или изменённые функции требуют создания нового класса
3. реализация интерфейса может быть унаследована и переиспользована, но интерфейс может и измениться в новой реализации

Полиморфный принцип открытости/закрытости:

1. основывается на строгой реализации интерфейсов и на наследовании от абстрактных базовых классов или на полиморфизме.
2. Созданный изначально интерфейс должен быть закрыт для модификаций, а новые реализации как минимум соответствуют этому изначальному интерфейсу, но могут поддерживать и другие, более расширенные.

Статья Роберта С. Мартина «The Open-Closed Principle» в 1996 была одной из плодотворных статей для популяризации такого подхода
Крэйг Ларман отнёс термин Принцип открытости/закрытости к шаблону Алистэра Кокбёрна, названного Protected Variations

Курсы для новичков:
JAVA - https://bit.ly/3i9DlOa
JAVA Start - https://bit.ly/2DIfBBK
Инструментарий JAVA - https://bit.ly/2XClPdz
Automation QA (Java) - https://bit.ly/31viHS9
ANDROID - https://bit.ly/2XwHofC
C#/.NET - https://bit.ly/3fDLSqW
C# START - https://bit.ly/3gA0usF
PYTHON - https://bit.ly/3fB2fV6
FRONT-END - https://bit.ly/31rmq2P
WORDPRESS Developer - https://bit.ly/2Dlx8Aa
SALESFORCE Developer - https://bit.ly/2EYPs2q
UI/UX дизайн - https://bit.ly/3iiTyk2
Project management - https://bit.ly/3a1WQW9
Обучение на проекте - https://bit.ly/2CalHL2

Продвинутые курсы для состоявшихся девелоперов:
GRASP and GoF Design patterns - https://bit.ly/3khIGF3
Enterprise patterns - https://bit.ly/30zLq95

Сайт Foxminded: https://bit.ly/3kkOygQ
Foxminded в ФБ:   / foxmindedco  
FoxmindEd в Instagram:   / foxminded.ua  
Foxminded в VK: https://vk.com/foxminded
Мой Telegram: https://t.me/nemchinskiyOnBusiness
Мой блог: www.nemchinsky.me


1. На основе работы Роберта Мартина (дяди Боба). Акроним SOLID предложен Michael Feathers
2. SOLID (сокр. от англ. single responsibility, open-closed, Liskov substitution, interface segregation и dependency inversion)

1. SRP Принцип единственной ответственности (The Single Responsibility Principle) - Каждый класс должен иметь одну и только одну причину для изменений.
2. OCP Принцип открытости/закрытости (The Open Closed Principle) - программные сущности … должны быть открыты для расширения, но закрыты для модификации
3. LSP Принцип подстановки Барбары Лисков (The Liskov Substitution Principle) объекты в программе должны быть заменяемыми на экземпляры их подтипов без изменения правильности выполнения программы
4. ISP Принцип разделения интерфейса (The Interface Segregation Principle) много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения
5. DIP Принцип инверсии зависимостей (The Dependency Inversion Principle) Зависимость на Абстракциях. Нет зависимости на что-то конкретное


0:00 – вступление Сергея Немчинского
0:23 – про принципы SOLID
1:12 – формулировка Open-Closed Principle (OCP)
2:50 – почему хорошо следовать принципу открытости-закрытости
3:53 – как соблюдать OCP согласно Бертрану Мейеру
6:20 - как соблюдать OCP согласно Роберту Мартину (полиморфный OCP)
8:25 –про расширение классов через интерфейсы

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
SOLID принципы: OCP (Открытости/закрытости (Open Closed Principle)

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

SOLID: Принцип подстановки Барбары Лисков/ LSP (The Liskov Substitution Principle)

SOLID: Принцип подстановки Барбары Лисков/ LSP (The Liskov Substitution Principle)

Что такое SOLID? Принципы ООП, которые ДОЛЖЕН ЗНАТЬ РАЗРАБОТЧИК!

Что такое SOLID? Принципы ООП, которые ДОЛЖЕН ЗНАТЬ РАЗРАБОТЧИК!

Как стать программистом после 30 (мой честный опыт)

Как стать программистом после 30 (мой честный опыт)

Александр Бармин — SOLIDный чистый код на простых примерах

Александр Бармин — SOLIDный чистый код на простых примерах

SOLID ПРИНЦИПЫ простым языком (много примеров)

SOLID ПРИНЦИПЫ простым языком (много примеров)

SOLID принципы: ISP (Принцип Разделения Интерфейса (The Interface Segregation Principle)

SOLID принципы: ISP (Принцип Разделения Интерфейса (The Interface Segregation Principle)

SOLID принципы: DIP (Принцип инверсии зависимостей (The Dependency Inversion Principle)

SOLID принципы: DIP (Принцип инверсии зависимостей (The Dependency Inversion Principle)

ДЕНЬГИ ВЫВОЗЯТ ВАГОНАМИ. Зачем ЦБ открыл границы для оттока капитала? | Валентин Катасонов

ДЕНЬГИ ВЫВОЗЯТ ВАГОНАМИ. Зачем ЦБ открыл границы для оттока капитала? | Валентин Катасонов

SOLID принципы: SRP (Принцип единственной ответственности,  Single Responsibility Principle)

SOLID принципы: SRP (Принцип единственной ответственности, Single Responsibility Principle)

Что такое ООП? Самое простое объяснение в интернете

Что такое ООП? Самое простое объяснение в интернете

Разберись с SOLID на Python примерах [Upper Junior]

Разберись с SOLID на Python примерах [Upper Junior]

Чем ОПАСЕН МАХ? Разбор приложения специалистом по кибер безопасности

Чем ОПАСЕН МАХ? Разбор приложения специалистом по кибер безопасности

🧩 SOLID: OCP — Принцип открытости/закрытости — Open-Closed Principle для JavaScript

🧩 SOLID: OCP — Принцип открытости/закрытости — Open-Closed Principle для JavaScript

Наследование в ООП. Зачем использовать наследование?

Наследование в ООП. Зачем использовать наследование?

Убьёт ли мессенджер МАХ китайская «Молния»? Или это хитрый план?

Убьёт ли мессенджер МАХ китайская «Молния»? Или это хитрый план?

Все о принципах SOLID

Все о принципах SOLID

Закон Деметры (Law of Demeter)

Закон Деметры (Law of Demeter)

Чё Происходит #303 | Лукашенко отпустил заложников, любимое ***-видео россиян, срок для судей МУС

Чё Происходит #303 | Лукашенко отпустил заложников, любимое ***-видео россиян, срок для судей МУС

Принципы ООП. 3. Полиморфизм

Принципы ООП. 3. Полиморфизм

Вопросы собеседования на C# программиста

Вопросы собеседования на C# программиста

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]