Что такое SOLID? Простыми словами о принципах ООП

preview_player
Показать описание
Подробно разберём все ООП принципы SOLID с примерами из Unity и C#. Также проведём и небольшой разбор кода.

Все принципы объектно-ориентированного программирования SOLID:

1. Принцип единой ответственности [SRP]
2. Принцип открытости/закрытости [OCP]
3. Принцип подстановки Барбары Лисков [LSP]
4. Принцип разделения интерфейсов [ISP]
5. Принцип инверсии зависимостей [DIP]

• 🖤 Поддержка канала:

• Таймлайн:

00:00 ► Вступление
00:24 ► Что такое SOLID?
01:32 ► Single Responsibility Principle
03:25 ► Полезный Code Review
06:49 ► Open-Closed Principle
08:35 ► Liskov Substitution Principle
10:27 ► Interface Segregation Principle
12:13 ► Dependency Inversion Principle
Рекомендации по теме
Комментарии
Автор

Жаль, что когда устроился на работу не было такого простого объяснения SOLID) В итоге пришлось изучать его досконально, а теперь просто приятно послушать про принципы и освежить знания в памяти!

psy_gamer
Автор

отличный канал, в ру сегменте очень мало подобного, обычно весь контент заканчивается гайдами по типу: "Учимся открывать юнити за ЧАС" от хауди хо, а тут затрагиваются куда более сложные и интересные темы, которые иногда бывает довольно сложно понять, автору респект

rimgro
Автор

Редко видел что бы халф-лайф приводили как пример. Честно говоря, приятно когда про неё вспоминают)

Xtonior
Автор

Хоть я всё это слышал и знаю, но повторение - мать учения :D

veiterio
Автор

Как приятно видеть грамотно написанный код

pieceofsnitcrappy
Автор

Отличный контент, такого крайне не хватает на ютубе, спасибо!

serjag
Автор

Краткая и понятная информация, благодарю

gusssduck
Автор

На столько понятного и интересного контента, еще и с приятным голосом, надо поискать. Очень рад, что нашел ваш канал. Спасибо вам большое за то, что вы теперь есть на просторах ютуба :3

P.S. В одном из предыдущих видео была вставка из отдыха на даче. Очень порадовала. В такие моменты чувствуешь, некую связь с автором видео, понимая, что он тоже человек. Ну и вспомнил свои приятные моменты с подобных выходных с друзьями.

dzammboo
Автор

С большим интересом посмотрел, благодарю🤝

EvgeniyZhukov-ltrq
Автор

Отличный видос! Всё просто с простыми примерами. Спасибо!

VyacheslavTamplier
Автор

вот это действительно отличное видео чтобы познакомиться с SOLID, спасибо!

IvanFedulov
Автор

Как понять, что человек действительно разбирается в своей области? Даже самые сложные вещи он сможет объяснить и пятилетнему ребёнку. Остальные псевдо-программисты очень любят забросать терминами не пытаясь объяснить сути. Ты сумел объяснить все принципы SOLID за 11 минут когда как у других горе-блогеров на это могло уходить до часа. Отличная работа!

Liforus
Автор

Спасибо за полезный контент!!! Продолжай в том же духе, успехов!!!)

ИванСкрипкарь-яб
Автор

Принцип инверсии зависимостей (D) не так объяснил, точнее пример не тот.
Инверсия зависимостей, это парадигма инверсии управления.
То есть вместо того, чтобы внутри класса или метода обращаться к другому классу/объекту - прямое управление. Мы прокидываем ссылку на объект в конструктор/метод и используем его - обратное управление.

Если прокидываемая ссылка будет абстракцией/интерфейсом - получаем, что нижние слои (конкретные реализации), зависят от верхних слоев абстракции (интерфейсы).

И тут уже получается возможность делать управления для разных платформ удобно. Но само по себе это некорректный пример Dependency Inverson.

Контент приятный, подача отличная, спасибо)

karimd
Автор

А я сначала не поверил что за 15 минут мне весь солид расскажут;) :D

vvvfff
Автор

Еду на собес и смотрю твой видик. Кайфанул в процессе ❤

OG_LEB
Автор

Наткнулся на видео абсолютно случайно, и уже на 2-3 минуте подписался и поставил лайк, притом что обычно я на лайки скупой.
Это лучший контент по программированию в юнити, который я видел. Каждый описанный случай там - это реальная болячка моих давних начинаний.
В дополнение к последнему, что касается управления, хочется рассказать смотрящим об еще большем упрощении, которого нет и не должно быть в этом видео, потому что оно никак не касается солид. Можно даже не менять в конечном классе типы инпутов для каждой платформы перед каждым билдом, а добавить директивы вроде #UNITY_ANDROID в этот же класс и в логику отрисовки кнопок для сенсорных устройств, логику aim assist для геймпадов и т.д., и тогда можно будет без изменений собирать один и тот же проект для всех платформ.
Огромное спасибо автору за видео и удачи в продвижении канала. Уверен, что удача ему с таким контентом не понадобится, потому что человек разбирающийся сразу скажет, что конкурентов у этого канала просто нет.

mendacius
Автор

отличный материал, действительно очень мало кто говорит про архитектуру кода на примерах да ещё и в GameDev-е.
PS: на этапе про InputService было бы очень к месту применить и рассказать про Dependency Injection.

max_monax
Автор

Только что хотел узнать про это и тут уведомление

RomanUnreal
Автор

Большое спасибо за понятную подачу материала. Дельный совет от Романа Сакутина подписаться на твой канал!

Roman_SBB
visit shbcf.ru