Clean Is Dead. Заблуждаетесь!

  • Auditorium: KINOBAR
  • Category: Development
  • Section: Stachka.Mobile

Description:

В мире быстрых изменений и хайпа стоит иногда остановиться и вспомнить старые добрые понятия. Такие как панк-рок и Clean Architecture. Давайте же окинем Clean свежим взглядом, и я объясню, почему эти архитектурные принципы все ещё актуальны. Мы вспомним их суть, разберем старые заблуждения и обдумаем новые идеи. Тезисы: - Почему люди продолжают не понимать Clean Architecture и почему архитектура важна. Что такое хорошая архитектура. Рассмотрим заблуждения о том, что архитектура не нужна. - На чем основана Clean Architecture. Истоки, подробные принципы, что привносит в проект. - Подробнее рассмотрим Clean Architecture и ее основную схему: что значат круги и что за этим кроется. Dependency Rule, слои. Заблуждения раскрытые тут: количество слоев, невозможность объединения с делением по фичам. - Круги и сущности. Рассмотрим подробнее и с примерами. А также развеем старые добрые заблуждения. - Entity, одна из самых сложных для осознания тем. Покажу пример и разжую, что же это такое. Заблуждения: Entities vs DTO, что за логика, зачем писать хорошие Entity. - Interactor. Приведу пример и поясню отличия. Заблуждения: UseCase vs Interacor, отдельные или объединенные. Это часть терминологии, которая запутала множество людей. Я напомню что есть что и буду топить за отдельные Interactor'ы, как более удобный способ организации и переиспользования кода. - Адаптеры интерфейсов. Поясню что это такое, что входит в слой. Разберем подробнее что такое Repository или Gateway и как они трактуются. (Заблуждения: Объединять ли Interactor и Repository. Расскажу почему так делать не надо, какие принципы это нарушит.) - Слой фреймворков, детали. Станет ясно, что такое детали и что дает нам выделение их во внешний слой. - Посмотрим на развернутую схему. Разберем подробно пересечение границ. Что такое Boundaries и зачем они нужны. Что может пересекать слои. Нужен ли маппинг. - Пройдем типичный сценарий. Станет ясно течение данных в проекте с Clean Architecture с расстояния. Уложится в голове общая схема. Ещё несколько новых мыслей: - Расскажу используются ли Boundaries в проектах c RxJava, покажу схему. - Поясню про Controllers и способ их применения и в мобильных приложения. - Поделюсь личным заблуждением из статьи и тем как называется этот паттерн, чем плох. - Hot! Хайпанем, разобрав популярные сравнения Clean Architecture c другими «архитектурами». Пройдемся по MVP, MVVM, VIPER, MVI.
About speaker

Android-тимлид в компании MobileUp. Автор статьи "Заблуждения Clean Architecture", соавтор библиотек RxPM и Cicerone.