SOLID принципы: SRP (Принцип единственной ответственности,  Single Responsibility Principle)

SOLID принципы: SRP (Принцип единственной ответственности, Single Responsibility Principle)

222.855 Lượt nghe
SOLID принципы: SRP (Принцип единственной ответственности, Single Responsibility Principle)
🎨👨‍💻 Превратите код в искусство вместе с моим авторским курсом GRASP & GOF Design Patterns. Старт нового потока 03.03.2025 На курсе: информация понятным языком, а не как в учебниках, разбор более 30 паттернов, вебинары с группой, много нетворкинга и практики. Регистрируйтесь на курс до 21 февраля и получите скидку 20% - https://surl.li/ojcjzn 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 - https://bit.ly/3gti9lR JAVA Start - https://bit.ly/3fnwLSp Инструментарий JAVA - https://bit.ly/2PpjldW Automation QA (Java) - https://bit.ly/3fkMr92 ANDROID - https://bit.ly/3k7ejRv C#/.NET - https://bit.ly/3glCdXg C# START - https://bit.ly/3i70As2 PYTHON - https://bit.ly/33oYmAw FRONT-END - https://bit.ly/39SKQpL SALESFORCE Developer - https://bit.ly/2Xn2L2S UI/UX дизайн - https://bit.ly/3i13HBW Project management - https://bit.ly/30oGFyO Обучение на проекте - https://bit.ly/3i74yRs Продвинутые курсы для состоявшихся девелоперов: GRASP and GoF Design patterns - Enterprise patterns - https://bit.ly/3fmUnGZ Сайт Foxminded: https://bit.ly/2BTPPKk Foxminded в ФБ: https://www.facebook.com/foxmindedco FoxmindEd в Instagram: https://www.instagram.com/foxminded.ua/ Foxminded в VK: https://vk.com/foxminded Мой Telegram: https://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