Скачать [Udemy, Денис Цветцих] Чистая архитектура на практике (2020)

Dr.Allban

Команда форума
Администратор
Премиум
17 Фев 2018
61,961
615
[IMG]



Курс показывает слушателю как применять чистую архитектуру на практике при разработке бэкенда бизнес-приложений (да-да, тот самый кровавый enterprise). В качестве демо-проекта используется интернет-магазин, не по наслышке знакомый огромному количеству программистов. Дядя Боб говорит о том, что количество компонентов может меняться, однако он не говорит какие компоненты могут добавляться и для решения каких задач. Курс показывает какие компоненты нужно будет создавать кто тех, что описаны Дядей Бобом, каково содержимое каждого компонента и какими будут ссылки между компонентами.


Также вы найдете ответы на вопросы:


  • Куда поместить сross-cutting сoncerns (сквозная функциональность) и хелперы, которые есть в любом реальном проекте
  • Обязательно ли использовать Rich-модель и как изменится архитектура при использовании анемичной модели
  • Чем отличается и где находится бизнес-логика и логика приложения
  • Как организовать доступ к данным, обязательно ли создавать абстракцию для ORM в виде репозиториев
  • Как изменится архитектура, если в системе будет много интеграций с внешними системами и инфраструктуры
  • Какие есть подходы к реализации интерактора, какой подход лучше выбрать и почему
  • Какова роль ApplicationServices в чистой архитектуре
  • Контроллеры Дяди Боба и контроллеры MVC-фреймворка - это одно и то же или нет
  • Всегда ли работает правило зависимостей
  • Нужно ли писать обертки для всех используемых в проекте библиотек и фреймворков
Демо-приложение изначально реализовано по слоистой архитектуре. По ходу погружения в чистую архитектуру происходит поэтапное перепроектирование проекта в соответствии с чистой архитектурой. Так что слушатели курса получат подробный гайд по миграции любой существующей системы на чистую архитектуру.

Отдельно рассматривается вопрос масштабирования архитектуры. Курс показывает как реализовать в соответствии с чистой архитектурой минимальный проект, а потом масштабировать его, н потеряв соответствие чистой архитектуре. В качестве минимального проекта показан микросервис, он масштабируется до стартапа, стартап - до среднего проекта, а средний - до большого, в котором будет несколько входных точек (Backend For Frontend).

Наконец, рассматриваются два популярных демо-проекта с гитхаба, который реализованы в соответствии с чистой архитектурой. Производится обзор и анализ архитектуры этих проектов, их достоинств и недостатков (последних, увы, будет немало). И, конечно, показывается как отрефакторить эти проекты в соответствии с чистой архитектурой.

Что такое чистая архитектура?

Чистая архитектура была предложена Дядей Бобом. Она основана на созданных до него луковой и гексагональной (ее еще называют "порты и адаптеры") архитектурах, однако содержит достаточно много нового. Чистая архитектура говорит о том, что ядром системы должны быть бизнес-сущности и бизнес-правила, независимые от инфраструктуры (например, базы данных). Следующий слой - юскейсы, это реализация логики приложения. Далее слой контроллеров, а вся инфраструктура находится на внешнем слое фреймворков. При этом действует правило зависимостей: внешние слои могут использовать внутренние, но внутренние не могут использовать внешние.

Курс отвечает на вопрос в чем похожи и чем отличаются эти три архитектуры, а также в чем их принципиальная разница со слоистой архитектурой. Курс рассказывает как реализовать проект, соответствующий сразу и чистой, и луковой, и гексагональной архитектурам.

Для кого этот курс?

Курс предназначен для backend-разработчиков бизнес-приложений, которые хотят чувствовать гордость за проделанную работу, создавая системы, в которых добавление новых фич и исправление багов вызывает радость и счастье, а не боль и страдание.
Демо-проект курса сделан на C# и ASP.NET Core, но без использования специфических фич как языка программирования, так и платформы. Так что идеи и подходы, описанные в курсе, будут понятны и полезны backend-разработчикам на любом языке программирования и любой платформе (Java, Python, JavaScript, Ruby, Go, PHP итд).


Продажник


Вам нужно нажать кнопку мне нравитcя для просмотра скрытого контента

Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

Для просмотра содержимого вам необходимо Войти или Зарегистрироваться.

 

Похожие темы

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.