Kotlin использование интерфейсов и классов данных для контрактов MVP - PullRequest
0 голосов
/ 11 марта 2020

Я сомневаюсь, какой вариант лучше с точки зрения архитектуры MVP, но мы можем сделать оба:

interface Screen
{
  interface View {}
  interface Presenter {}
  data class DisplayDataModel()
}

и

interface Screen
{
  interface View {}
  interface Presenter {}
  interface DisplayDataModel {}
}

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

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