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

Android Изучение

В период роста технологий очень важно правильно выбрать архитектуру, если вы хотите создать фантастическую программу, вот почему это так важно. Если вы заинтересованы в создании приложений для Android с помощью чистой архитектуры, то вы попали в нужное место. Здесь мы не просто предоставляем вам руководство по MVVM (Model View-View model), но мы будем использовать MVVM для его подключения через чистую архитектуру. В этой статье мы рассмотрим, как использовать этот дизайн для создания несвязанного, протестированного и поддерживаемого кода. Прежде чем мы перейдем к нашему основному обсуждению, давайте сначала разберемся с MVVM.

MVVM

Model — View-ViewModel (MVVM) — это структура разработки программного обеспечения, которая отделяет программную логику от элементов управления пользовательского интерфейса. Он был представлен двумя известными архитекторами Microsoft Кеном Купером и Джоном Госсманом в 2005 году. Кроме того, MVVM также известен как model-view-binder. Как и многие другие шаблоны проектирования, MVVM помогает в организации кода и разделении программ на модули, что упрощает и ускоряет разработку, обновление и повторное использование кода. Дизайн часто используется в Windows и программном обеспечении для презентаций веб-графики. Windows Presentation Foundation (WPF) работает на платформе Microsoft.NET и использует дизайн MVVM. MVVM также используется Silverlight, мультимедийным подключаемым модулем Microsoft WPF, сопоставимым с Интернетом.

Чистая архитектура в Android

Чистая архитектура — это метод разработки программного обеспечения, при котором вы должны быть в состоянии определить, что делает программа, просто взглянув на ее исходный код. Язык программирования, аппаратные и программные библиотеки, необходимые для достижения цели программы, должны стать устаревшими. Как и другие философии разработки программного обеспечения, чистая архитектура направлена ​​​​на обеспечение экономически эффективного процесса разработки качественного кода, который работает лучше, его легче изменять и который имеет меньше зависимостей. Роберт С. Мартин создал чистую архитектуру и продвигал ее в своем блоге Uncle Bob в 2011 году.

Читайте также:  Как нанять разработчика мобильных приложений

Ну, вы, должно быть, задаетесь вопросом, почему архитектура необходима? Копаем внутрь. Целью всех архитектур является управление сложностью вашего приложения. В небольшом проекте вам, возможно, не нужно об этом беспокоиться, но это может спасти жизнь в более крупных проектах. Думаю, вы уже видели эту картинку.

Вышеупомянутые кольца представляют различные уровни

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

  1. Самый абстрактный круг находится в центре, а самое конкретное кольцо — снаружи. Принцип абстракции — вот как это называется. В соответствии с принципом абстракции внутренние круги должны включать бизнес-логику, тогда как внешние круги должны содержать детали реализации.
  2. Правило зависимости — еще один принцип чистой архитектуры. Это правило гласит, что каждый круг может полагаться только на ближайший к нему внутренний круг, что позволяет архитектуре функционировать.

Возможно, сейчас самое время понять, почему MVVM с чистой архитектурой?

MVVM с чистой архитектурой

Ваше представление, то есть (активность и фрагменты), отделено от вашей бизнес-логики с помощью MVVM. Для небольших проектов достаточно MVVM, но по мере роста вашей кодовой базы ваши ViewModels начинают раздуваться. Разделить обязанности становится сложно. В таких случаях MVVM с чистой архитектурой является подходящим выбором. Это делает шаг вперед в разделении обязанностей вашей кодовой базы. Логика действий, которые могут быть выполнены в вашем приложении, абстрагирована. Теперь чистую архитектуру также можно комбинировать с архитектурой Model-View-Presenter (MVP). Итак, мы выбираем MVVM, а не MVP, потому что в Android Architecture Components уже есть встроенный класс ViewModel — фреймворк MVVM не нужен!

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

Преимущество чистой архитектуры

  • Код легче тестировать, чем со стандартным MVVM.
  • Идеально выверенное разделение (самое значительное преимущество).
  • Удобная структура пакета.
  • Легко поддерживать проект в рабочем состоянии.
  • Ваша команда сможет внедрять новые функции еще быстрее.

Недостатки чистой архитектуры

  • Кривая обучения немного крутая. Может потребоваться некоторое время, чтобы узнать, как взаимодействуют все уровни, особенно если вы используете такие архитектуры, как простые MVVM или MVP.
  • Он содержит много дополнительных классов, поэтому не подходит для приложений с низким уровнем сложности.

Теперь давайте проверим слои, участвующие в этом процессе.

Сочетание MVVM с чистой архитектурой

Ниже мы показываем вам графическое представление MVVM с чистой архитектурой.

Ниже мы показываем вам графическое представ

Точка для запоминания:

  • Только внешние уровни могут полагаться на внутренние уровни для связи.
  • Количество слоев зависит только от вас: сделайте так, чтобы оно соответствовало вашим требованиям.
  • В интимных кругах все становится более абстрактным.

Слои MVVM

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

Presentation: это уровень, который взаимодействует с пользовательским интерфейсом (UI).
Domain: здесь хранится бизнес-логика приложения.
Use cases: интеракторы — это другое их название.
Data: все источники данных определяются в широком смысле.
Framework: реализует интерфейс с Android SDK, а также конкретные реализации уровня данных.

Когда использовать чистую архитектуру?

Крайне важно помнить, что чистая архитектура не является лекарством, но может быть применена к любой платформе. На основе проекта следует определить, соответствует ли он вашим требованиям. Например, если ваш проект большой и сложный, с большим количеством бизнес-логики, чистая архитектура имеет много преимуществ. Однако для более мелких и простых задач преимущества могут быть того не стоит — в конечном итоге вам придется писать больше кода и увеличивать сложность со всеми слоями, а также тратить больше времени.

Оцените статью
bestprogrammer.ru
Добавить комментарий