[udemy] Архитектура ПО: Meta и SOLID принципы в ООП [Илья Фофанов]
85₽
Авторы: Илья Фофанов
Последнее обновление: 12/2020
Язык: русский
Чему вы научитесь
- Определение количества зависимостей класса
- Применение SRP для конкретизации классов
- Определение запаха дублирования вызванного нарушением OCP
- Применение OCP для устранения или предотвращения дублирования кода
- Применение ISP для конкретизации интерфейсов
- Определение нарушений LSP, ломающих клиентский код
- Применение LSP для устранения неправильного наследования
- Применение DIP для построения плагинообразной архитектуры
- Построение своего элементарного (наивного) IoC-контейнера
- Построение «чистого» API на C#
Материалы курса
8 разделов • 62 лекций • Общая продолжительность 4 ч 58 мин
Требования
- Уровень уверенного Junior в C#
- Желателен опыт в реальном проекте хотя бы пол-года
Описание
Добро пожаловать на курс «Архитектура программного обеспечения: Meta и SOLID принципы в ООП».
SOLID — это аббревиатура, обозначающая SRP, OCP, LSP, ISP и DIP. Эти пять аббревиатур, в свою очередь, означают:
- Принцип единственной ответственности (The Single Responsibility Principle)
- Принцип открытости/закрытости (The Open Closed Principle)
- Принцип подстановки Барбары Лисков (The Liskov Substitution Principle)
- Принцип разделения интерфейса (The Interface Segregation Principle)
- Принцип инверсии зависимостей (The Dependency Inversion Principle)
В этом курсе вы узнаете как применять SOLID и мета принципы, чтобы ваше приложение прожило долгую здоровую жизнь. Это значит, что вы научитесь писать качественный код: читаемый, расширяемый и надежный.
Улучшите свои знания в объектно-ориентированном программировании
- Усвойте метапринципы, на которых основаны все остальные принципы разработки
- Научитесь понимать симптомы наличия дефектов в коде
- Изучите основы принципов SOLID
- Узнаете как обнаруживать нарушения принципов SOLID и как решать проблемы.
- Узнаете, как метапринципы и принципы SOLID связаны друг с другом и как найти баланс между ними
Основы построения объектно-ориентированной инфраструктуры
Несмотря на то, что C # — язык с богатым набором функций, в реальном мире очень часто можно увидеть плохо разработанные и реализованные приложения. Язык сам по себе не гарантирует, что архитектура приложения будет отличной. Чтобы разрабатывать и создавать поддерживаемое программное обеспечение, нам необходимо понимать принципы разработки программного обеспечения. Этот видеокурс как раз о том, как создавать чистое и удобное в обслуживании программное обеспечение.
Вы, наверное, уже слышали следующее известное утверждение: большая часть кода — отстой. Этот курс посвящен тому, как создавать код, к которому не относится данное утверждение.
Владение навыками создания хорошо продуманных и реализованных типов — необходимое условие для того, чтобы другие разработчики относились к вам как к настоящему профессионалу.
Содержание и обзор
Этот курс предназначен для опытных джуниоров и начинающих middle-разработчиков
Конечно, некоторый опыт работы с C # необходим.
В этом курсе есть множество примеров кода, что поможет вам усвоить как теоретический, так и практический материал.
Начиная с принципов SOLID, мы перейдем к мета-принципам. В процессе изучения принципов SOLID, вы также узнаете о связанных с ними паттернах. Затем мы перейдем к проблеме противоречий между разными принципами. Вы узнаете о взаимосвязи между принципами SOLID и метапринципами.
Главными темами для изучения в этом курсе будут:
- SRP
- OCP
- LSP
- ISP
- DIP
Это принципы SOLID. Вы узнаете об основных проблемах, которые можно решить с помощью определенного принципа, что будет продемонстрировано на практике. Вы узнаете, какие паттерны связаны с каждым принципом.
Изучая DIP, вы дополнительно узнаете, что такое внедрение зависимостей, инверсия управления, контейнеры IoC и каковы архитектурные последствия DI.
А также в курс включены следующие темы:
- DRY – don’t repeat yourself
- KISS – keep it simple stupid
- YAGNI – You Ain’t Gonna Need It
- SoC – separation of concerns
- CQS – command query separation
- Law of Demeter
- Principle of Least Astonishment
- Information Hiding and Encapsulation
- API Development Principles
- Противоречия между SOLID и YAGNI
- Противоречия между OCP и YAGNI
- Что такое Архитектура и Проектирование
Запишитесь на курс и начните изучать, как развивать архитектуру, учитывая принципы SOLID и мета-принципы.
Для кого этот курс:
- Джуниоры с уверенным знанием C#
- Миддлы, пока ещё неуверенно чувствующие себя при проектировании решений на C#