[udemy] Архитектура ПО: Meta и SOLID принципы в ООП [Илья Фофанов]

85

Продвиньтесь в понимании ООП, изучая мета и SOLID принципы. Примеры кода на C#.
Авторы: Илья Фофанов
Последнее обновление: 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#