Тёмный
No video :(

SOLID, 1.2 OCP - Open Closed Principle, Принцип открытости закрытости, С#, Unity 

Sergey Kazantsev
Подписаться 5 тыс.
Просмотров 3,4 тыс.
50% 1

другие принципы SOLID-а
SRP - Принцип единственной ответственности • SOLID, 1.1 SRP - Singl...
LSP - Принцип подстановки Лисков • SOLID, 1.3 LSP - Lisko...
ISP - Принцип сегрегации интерфейсов • SOLID, 1.4 ISP - Inter...
DIP - Принцип инверсии зависимости • SOLID, 1.5 DIP - Depen...
Автору на кофе и шаурму
4276 5500 5792 8742 - карта Сбербанка
Если будут вопросы
мой тг @wargy
моя почта kazancev.s215@gmail.com
Тайминги:
00:00 Введение
00:18 Определение OCP
00:32 Разъясняем про изменение и расширение
00:55 Конкретный пример: введение
01:21 Конкретный пример: пишем первый код
02:02 Конкретный пример: новый функционал
02:32 Конкретный пример: вот почему OCP важен
03:25 Конкретный пример: фиксим согласно OCP
04:15 OCP простыми словами
05:00 Идеальная разработка в ваакуме согласно OCP
05:50 А точно ли OCP нужен?
08:24 Когда следовать OCP?
10:22 Финал

Опубликовано:

 

17 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 17   
@zheka9877
@zheka9877 Час назад
Огромное спасибо за Ваши видео! Сейчас готовлюсь по ним к собеседованию. 3:45 Если я все правильно понимаю, то как раз таки здесь не нужно делать protected поля, т.к. они всё равно будут в инспекторе отображаться. Да и вроде бы есть рекомендация от Microsoft: вообще никогда не делать поля protected (логика взаимодействия с этими полями должна остаться в родительском и только в родительском классе)
@cmldev
@cmldev 2 месяца назад
Просто лучшее объяснение принципов SOLID. Все четко, ясно и по делу. А главное нет какого-то ощущения недопонимания после просмотра твоих видео, которые я обычно додумывал сам (и обычно додумывал неправильно). Спасибо огромное за проделанную работу! От себя добавил бы, что лучше бы метод Init сделать виртуальным, и переопределить его в наследнике.
@LEVON007100
@LEVON007100 Год назад
Спасибо❤, очень недооцененный канал, просмотры должны быть в разы больше
@sergeykazantsev1655
@sergeykazantsev1655 Год назад
Да каналу меньше полугода) накапают просмотры)
@SergeyBobrov240
@SergeyBobrov240 4 месяца назад
Пожалуй один из лучших гайдов на SOLID, которые я когда-либо встречал! 🙌 Слушаю твое второе видео про solid и просто в восторге от того, что я начинаю не просто абстрактно понимать пользу этих принципов, а буквально уже видеть в голове их применение и пользу! Очень круто, что ты также упомянул про паттерн декоратор, так как в голове действительно возникли вопросы по поводу бесконечного дополнения кода, что может привести к тем самым классам PopupWindowWithOneButtonBut... Мне доводилось побывать на нескольких курсах, спрашивать у опытных приятелей, смотреть множество других видео и читать разные статьи, но вот почему-то твое видео про solid мне так кристаллически понятно, что описать тяжело! Плюсом небольшая длинна видео, бодрый рассказ и множество крутых моментов, от которых я душнился дальше изучать эти принципы из других источников, но не из твоего! Спасибо! 🤗
@lopiktest5193
@lopiktest5193 Год назад
Благодарю, синьор ❤
@SDCWorldCourses
@SDCWorldCourses Год назад
На мой взгляд очень толково! Спасибо большое!
@user-gp7js3zu6b
@user-gp7js3zu6b Год назад
Круто, спасибо!) очень заходит подача материала! Жду следующих выпусков) а если ещё и про паттерны проектирования... я фанат!)
@vladimirkraft4315
@vladimirkraft4315 Год назад
Спасибо большое!
@flyoffly5133
@flyoffly5133 5 месяцев назад
Тут есть одно дело....в том что, ну создал я новый класс и в него заново данные вводить из инспектора. которые можно неправильно вести из-за банальной невнимательности. Этот принцип хороший, когда ты вводишь в класс данные вручную и тогда тебе надо просто заменить название одного класс, но в случае с юнити ты это сделать не можешь
@sergeykazantsev1655
@sergeykazantsev1655 5 месяцев назад
Ну так этот принцип не только же к монобех скриптам относится, данные из инспектора тут не совсем при делах
@PinkPanteRus
@PinkPanteRus Год назад
Спасибо! Можно видео про паттерн Декоратор? Раз рекомендуешь его использовать значит действительно может пригодиться.
@sergeykazantsev1655
@sergeykazantsev1655 Год назад
Как-нибудь до него дойду, да, были мысли сделать про него видео
@johancrysler
@johancrysler 4 месяца назад
Я что то немного запутался... SRP говорит о том, что каждый класс должен иметь только одну причину для изменения, а OCP, что класс должен быть закрыт для изменения, но открыт к расширению. Такое ощущение, что эти два принципа друг другу противоречат
@sergeykazantsev1655
@sergeykazantsev1655 4 месяца назад
Мне кажется, сам принцип OCP просто не очень удачно сформулирован, оттого и возникает ощущение противоречия SRP говорит о том, как делить логику в классах - по зонам ответственности/т.е по причинам для изменения OCP говорит о том, что если вы расширяете уже написанную логику, вы не должны менять старую логику(закрыт для изменения), чтобы не поломалась обратная совместимость. Если вы расширяете старую логику, то у вас количество зон ответственности может как увеличиться так и не измениться. Тут надо смотреть по ситуации, но как такого противоречия я здесь не вижу.
@shlembert
@shlembert Год назад
Спасибо! Ждем новых роликов на канале! А анимашки со схемами сами рисовали? if (не сами) return; else а в чем?
@sergeykazantsev1655
@sergeykazantsev1655 Год назад
Иконки рисовал в Inkscape, далее экспорт в Adobe Animate(как я понял это бывший Macromedia Flash)
Далее
Х..евый доктор 😂
00:15
Просмотров 260 тыс.
Open Closed principle
5:36
Просмотров 14 тыс.
Паттерн Observer, С#, unity,  gamedev,
15:04
Просмотров 7 тыс.
Просто о SOLID (Принципы SOLID)
15:54
Просмотров 218 тыс.