Подписка на 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 в программировании имеет огромную роль с точки зрения написания чистого кода и как следствие максимизации простоты поддержки кода.
Во втором выпуске мы поговорим об SRP - Single Responsibility Principle или Принцип единственной ответственности. Обсудим частые запахи нарушения SRP и посмотрим на относительно сложный пример нарушения и на то как провести рефакторинг, исправляющий нарушение принципа.
00:00 Начало выпуска о SRP
00:29 Определение SRP из википедии и от Роберта Мартина (aka дядя Боб)
01:11 Подсчёт обязанностей класса. Уровни применения SRP
02:40 Нарушение SRP на практике
05:48 Связанность (coupling) и связность (cohesion)
07:01 Сложный пример нарушения SRP на C# и Python
09:58 Рефакторинг примера для устранения нарушения SRP
14:12 Обсуждение результатов рефакторинга
14:46 Частые случаи нарушения SRP
17:50 Заключение по SRP
Ссылка на репозиторий: https://github.com/EngineerSpock/youtube-solid
#solid #srp #ocp #lsp #isp #dip #oop #cleancode
Курсы релевантные данному видео:
Архитектура ПО: Meta и SOLID принципы в ООП с примерами на C# https://bit.ly/2UiuoeY
Архитектура ПО: внедрение зависимостей на C# https://bit.ly/368zugi
Лучшие практики проектирования и реализации API на C# https://bit.ly/3qICNEr
Также можно рассмотреть курс "Изучаем юнит-тестирование с NUnit на C#" https://bit.ly/3dxP9tX