SOLID принципы / # 1 Введение в SOLID принципы: запахи кода, философия принципов

  Рет қаралды 8,975

EngineerSpock - IT & программирование

EngineerSpock - IT & программирование

Күн бұрын

Подписка на Boosty: boosty.to/engineerspock
---------------------------------------------------------------------------------------- Донаты на развитие: 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 в программировании имеет огромную роль с точки зрения написания чистого кода и как следствие максимизации простоты поддержки кода.
В первом выпуске мы поговорим о фундаментальных запах в коде и о том, с чем они связаны. Так же обсудим особенности разработки ПО как вида деятельности.
00:00 Начало
00:30 Зачем нужны SOLID принципы / Что такое проектирование ПО
02:50 Требования к ПО, чистота кода / запахи
03:40 Ригидность ПО (rigidity)
04:26 Хрупкость ПО (fragility)
04:50 Неподвижность ПО (immobility)
05:14 Вязкость ПО (viscosity)
05:50 Излишняя сложность ПО (needless complexity)
06:38 ООП: полиморфизм и динамическая диспетчеризация
07:30 SOLID принципы
09:06 Философия SOLID принципов
#solid #srp #ocp #lsp #isp #dip #oop #cleancode
Курсы релевантные данному видео:
Архитектура ПО: Meta и SOLID принципы в ООП с примерами на C# bit.ly/2UiuoeY
Архитектура ПО: внедрение зависимостей на C# bit.ly/368zugi
Лучшие практики проектирования и реализации API на C# bit.ly/3qICNEr
Также можно рассмотреть курс "Изучаем юнит-тестирование с NUnit на C#" bit.ly/3dxP9tX

Пікірлер: 27
@user-ew2pd6fq8j
@user-ew2pd6fq8j 3 жыл бұрын
Чувствую Илья задаст планку качества к подобному контенту :), спасибо за это. Лаконично, логично, где-то прозаично...
@maketcity46
@maketcity46 3 жыл бұрын
Классная подача. За обещанные примеры применения SOLID принципов особенное спасибо!
@kirillnovikov7925
@kirillnovikov7925 Жыл бұрын
Парень просто великолепен!
@EminHasanov-nj6un
@EminHasanov-nj6un Жыл бұрын
Спасибо! Как всегда на высшем уровне!
@mikhailtochenov981
@mikhailtochenov981 3 жыл бұрын
Отлично, спасибо за видео.
@dyhmichail
@dyhmichail 2 жыл бұрын
Отличное видео, спасибо большое!
@gorizontclub
@gorizontclub 2 жыл бұрын
Простыми словами о сложных вещах, спасибо )
@rsakutin
@rsakutin 2 жыл бұрын
И про вас и про Соера я имею не один хвалебный пост. Также на моем канале есть видео где я рассказываю и о хороших специалистах. Являюсь также счастливым обладателем ваших курсов на юдеми которые мне понравились. Не думаю, что вам было интересно изучать все подноготную, но справедливости ради вам стоит об этом знать.
@EngineerSpock
@EngineerSpock 2 жыл бұрын
Роман, как неожиданно! Да, я не имел возможности следить за вашей деятельностью, поэтому о вас высказался нейтрально))) только про Хауди не очень согласен и в видео объяснил почему)
@EngineerSpock
@EngineerSpock 2 жыл бұрын
Очень приятно, что отписались в комментах)))
@romanryaboshtan9270
@romanryaboshtan9270 2 жыл бұрын
спасибо, автор молодец
@user-ei7ip6nw6s
@user-ei7ip6nw6s Жыл бұрын
Чуви, просто подписался и поставил лайк из-за того, что ты сказал, что это все философски и не нужно усложнять то, что возможно никогда не расширится. У меня 3 года назад был спор с лидом о том что незачем тратить уйму времени на создание сложной архитектуры, если эта вещь вообще никогда не расширится.. В итоге он решил переписать это, потратил 2.5 недели это в добавок к 1й недели разработки изначального кода. И вот уже прошло 3 года, а то место так и не расширилось. Ну зато там идея и реализация такая что нужно потратить время что бы понять что там. Но хотя да, я не спорю, расширяемое =D, правда мы об этом не узнаем, т.к. не он не я там уже не работаем.
@user-tw6ps2ro7k
@user-tw6ps2ro7k 2 жыл бұрын
Здравствуйте! Очень интересно! Планируете ли выпускать еще видео по теме?
@alexen5465
@alexen5465 2 жыл бұрын
Замечательный материал для чайников. Рекомендую.
@user-et1jp9gt6u
@user-et1jp9gt6u 3 жыл бұрын
не убирай робота....
@raf4ik695
@raf4ik695 2 жыл бұрын
это под любой ЯП подойдет объяснение?
@EngineerSpock
@EngineerSpock 2 жыл бұрын
Почти что. В некоторых яп этих принципов просто очень сложно придерживаться. Им может не хватать выразительности, например в чистом С.
@raf4ik695
@raf4ik695 2 жыл бұрын
@@EngineerSpock а если говорить о python? То видео подходит для просмотра?
@EngineerSpock
@EngineerSpock 2 жыл бұрын
@@raf4ik695 конечно
@raf4ik695
@raf4ik695 2 жыл бұрын
@@EngineerSpock огромное спасибо!))
@legendofpain1x915
@legendofpain1x915 2 жыл бұрын
Пж, убери музыку которая на фоне играет, нереально бесит
@gusevsky
@gusevsky 3 жыл бұрын
конечно интересно????? нооооо хз когда об этом всем начинать думать)))) если еще командную строку psql победить еще не можешь)))))
@user-ew2pd6fq8j
@user-ew2pd6fq8j 3 жыл бұрын
На своем опыте скажу, когда начинал сам..., запомнить ЯП или пытаться на чистой теории его изучить - бесполезная трата времени. Лучше чем, именно понять как все работает и сразу же применить - просто нет... А глубокое понимание придет со временем и опытом, но без кодинга программистом стать - все равно что пытаться научиться плавать на полу с книгой в руках!
@user-ew2pd6fq8j
@user-ew2pd6fq8j 3 жыл бұрын
90% практики и 10% теории за час, ну если вы конечно не гений который выдает 33 петафлопс операций за аттосекунду в мозгу :)
@gusevsky
@gusevsky 3 жыл бұрын
@@user-ew2pd6fq8j ))))))))))))
МУФТИЙ ДАГЕСТАНА О ЗАПРЕТЕ НИКАБА
13:24
Муфтият РД
Рет қаралды 103 М.
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 9 МЛН
1 or 2?🐄
00:12
Kan Andrey
Рет қаралды 27 МЛН
孩子多的烦恼?#火影忍者 #家庭 #佐助
00:31
火影忍者一家
Рет қаралды 24 МЛН
Обзор нейросети SUNO. Аранжировщики больше не нужны?
8:55
Потëмки Макса Баженова
Рет қаралды 4,2 М.
Просто о SOLID (Принципы SOLID)
15:54
webDev
Рет қаралды 216 М.
Искусственный интеллект, ChatGPT и распознавание образов / Шелия Губерман
39:49
😱 Как стать программистом с нуля? Без курсов самому.
24:43
Хауди Хо™ - Просто о мире IT!
Рет қаралды 327 М.
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 9 МЛН