Skip to content

Android-Developer-Basic/CleanArchitecture

Repository files navigation

Пример приложения Clean Architecture

Демо-репозиторий к лекции по чистой архитектуре. Все изменения в репозитории сделаны отдельными коммитами, чтобы можно было следить за изменениями в проекте.

В рамках проекта мы проводим рефакторинг приложения от монолитного, к использованию разделения на слои чистой архитектуры и модули.

В качестве пользы подхода, иллюстрируем создание вариантов сборки приложения с разным составом модулей и функциональностью.

Для самостоятельного изучения

В нашем примере, мы использовали варианты сборки приложения для подключения разных источников данных. Для самостоятельного изучения, предлагаю вам провести дополнительный рефакторинг, имитирующий варианты приложения для разных рынков и экосистем. Представим, что нам нужно выпустить приложение:

  • для американского рынка на платформе Google Play
  • для китайского рынка на платформе Huawei

Чтобы сделать это, нам необходимо абстрагировать наш провайдер геоданных от используемой платформы.

  • Создайте два новых библиотечных модуля приложения: location.google и location.huawei.
  • В каждом из модулей напишите реализацию, имитирующую получение координат по примеру LocationProviderImpl.
  • Создайте Hilt-модуль, предоставляющий реализацию в граф для каждого модуля location.
  • Дополните конфигурацию модуля app вариантами сборки по новой оси platform.
  • Опробуйте работу модулей в каждой конфигурации.

Готовое решение доступно в отдельной ветке

About

Demo app for Clean Architecture webinar

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages