Используете интерфейсы для ViewModels?

В настоящее время я интегрирую компоненты архитектуры в свое приложение в соответствии с официальной документацией и примерами приложений, предоставленными Google (подсолнечник и todo-app). Я понял, что ни один из них не использует интерфейсы для ViewModels (приложение подсолнечника даже не использует интерфейсы для репозиториев).

У меня вопрос: разумно ли просто опустить интерфейсы для ViewModels (включая достоинства и недостатки)?

4
0
2 469
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Is it reasonable to just omit the interfaces for ViewModels?

Приведенное ниже является довольно общим и применимо не только для ViewModels.

Преимущества:

  • меньше кода

Недостатки:

  • не сможет использовать большинство известных шаблонов проектирования;
  • не сможет правильно тестировать классы (без насмешек);
  • не сможет правильно использовать фреймворки внедрения зависимостей;
  • рефакторинг кода при использовании другой конкретной реализации.

Я знаю, что это не было частью вопроса, но как лучше всего назвать такой интерфейс? Предполагая, что у меня есть класс TasksViewModel и я хочу создать для него интерфейс.

Doflaminhgo 27.09.2018 14:44

@Doflaminhgo, следуя соглашениям об именах, используемым разработчиками, вы можете называть их либо 1) TasksViewModel для интерфейса и TasksViewModelImpl для конкретной реализации, либо 2) ITasksViewModel для интерфейса и TasksViewModel для конкретной реализации. На самом деле дело вкуса.

Onik 27.09.2018 14:49

Другие вопросы по теме