Mvp со слоем представления предметной области - PullRequest
0 голосов
/ 18 мая 2019

Я новичок в архитектурах разработки приложений для Android. Я прочитал так много материалов и посмотрел так много видео. Я думаю, что понимаю концепцию MVP. MVP используется в уровне представления. но есть и два других уровня: уровень домена и уровень данных. И это говорит о том, что вся бизнес-логика выполнена на уровне домена, другими словами, интеракторы. Однако в некоторых других ресурсах говорится, что вся бизнес-логика сделана в презентере. Где делается бизнес логика?

Примеры исходного кода в Интернете либо просты, например, строят игрушечный домик, либо очень сложны, включают в себя более 100 классов интерфейсов dagger rxjava и другие инструменты более 100 фреймворков, а также множество других вещей, таких как создание небоскреба. Я уже прочитал все доступные статьи в Интернете. Пожалуйста, не давайте эти ссылки. Пожалуйста, помогите мне, объяснив, чтобы понять концепцию mvp с концепциями уровня представления предметной области?

1 Ответ

0 голосов
/ 18 мая 2019

Я только что неофициально написал это для MVP -clean, пример - получить список

представление:

  • просмотр

    : (инициализировать LocalDataSource и DataManager и Executors / other для асинхронного)
    : Передать Executors / other и DataManager ref ведущему (конкретный класс, предпочтительный PresenterImp или любой другой)

    • ведущий

    : передать ссылку Executors / other и DataManager на модель (конкретный класс, предпочтительный ModelImp или любой другой)

домен:

  • исполнители
  • лицо
  • модель (mvp - модель)

    : здесь также действуют как интеракторы / сценарии использования, теперь с помощью этих исполнителей вы запрашиваете у метода puclic DataManager получение данных

    Например: mExecutor.submit (new Runnable () {

      mDataManager.getMeBadGOTwriterList(new ACallback(){
    
      onSuccess(List BadWriter){
    
      mPrenter.sendList(BadWriter);
      }
    
      onFailed(){
      }
      }
    

    }

данные:

: DataManager (Центральный репозиторий)

   - has DataSource as member


   //getABadWriterList
   public  void getMeBadGOTwriterList(DataSource.ACallback callaback){

   mDataSource.getMeList(callback)l

   }

: источник данных (интерфейс)

  • LocalDataSource (реализует DataSource)
  • RemoteDataSource (реализует DataSource)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...