Я сомневаюсь, какой вариант лучше с точки зрения архитектуры MVP, но мы можем сделать оба:
interface Screen
{
interface View {}
interface Presenter {}
data class DisplayDataModel()
}
и
interface Screen
{
interface View {}
interface Presenter {}
interface DisplayDataModel {}
}
DisplayDataModel
определяет контракт данных, скажем, для RecyclerView объекты, которые являются только частью этого конкретного экрана. Обратите внимание, что этот вопрос не о том, должна ли эта модель быть отделена от контракта (я, например, сохранил ее здесь), а о том, использовать ли интерфейсы или классы для моделей контракта. Одна из основных целей контрактов заключается в том, чтобы зависеть от абстракций, а не от реализаций, таким образом, используя правильный интерфейс. Но мы не скрываем здесь никакой реализации, поскольку класс данных будет иметь только переменные. И теперь я хотел бы иметь какую-либо ссылку или точку зрения за или против любого из них. Спасибо.