SOLID принципы: SRP (Принцип единственной ответственности, Single Responsibility Principle)
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) Зависимость на Абстракциях. Нет зависимости на что-то конкретное
3. Для чего нужны принципы SOLID
4. Запахи кода (Code smells) и антипаттерны
5. Собственный тренинг по паттернам и антипаттернам
6. Принцип единственной ответственности (SRP) каждый объект должен иметь одну обязанность и эта обязанность должна быть полностью инкапсулирована в класс
7. Следование принципу:
1. Разделение больших классов, делающих многое
2. Слияние мелких классов и объединение в одном классе однотипоной функциональности
8. Упрощает поддержку и расширение классов
9. Антипаттерны — типа GoD object
10. Требует осмысленного отношения
11. Active Record нарушает SRP
Курсы для новичков:
JAVA — bit.ly/3gti9lR
JAVA Start — bit.ly/3fnwLSp
Инструментарий JAVA — bit.ly/2PpjldW
Automation QA (Java) — bit.ly/3fkMr92
ANDROID — bit.ly/3k7ejRv
C#/.NET — bit.ly/3glCdXg
C# START — bit.ly/3i70As2
PYTHON — bit.ly/33oYmAw
FRONT-END — bit.ly/39SKQpL
WORDPRESS Developer — bit.ly/2BV1Cbr
SALESFORCE Developer — bit.ly/2Xn2L2S
UI/UX дизайн — bit.ly/3i13HBW
Project management — bit.ly/30oGFyO
Обучение на проекте — bit.ly/3i74yRs
Продвинутые курсы для состоявшихся девелоперов:
GRASP and GoF Design patterns —
Enterprise patterns — bit.ly/3fmUnGZ
Сайт Foxminded: bit.ly/2BTPPKk
Foxminded в ФБ: www.facebook.com/foxmindedco
FoxmindEd в Instagram: www.instagram.com/foxminded.ua/
Foxminded в VK: vk.com/foxminded
Мой Telegram: t.me/nemchinskiyOnBusiness
Мой блог: www.nemchinsky.me
0:00 – вступление Сергея Немчинского
0:50 – все принципы SOLID вкратце
4:02 – для чего нужны принципы SOLID
5:42 – формулировка принципа SRP
6:47 – SRP на картинке
10:23 – как следовать SRP
11:35 – антипаттерн GoD object
12:15 – любые SOLID принципы требуют критического осмысления
13:20 – Active Record нарушает SRP