#model-view-controller #mvvm #view #model #mvp
#модель-представление-контроллер #mvvm #Вид #Модель #mvp
Вопрос:
У меня есть представление, которое я могу использовать в любом количестве приложений. Это специальный просмотрщик для определенного типа данных. Он содержит специальное средство чтения для файлов, относящихся к этому типу данных, и может записывать их. Каковы плюсы и минусы этого способа? В недавнем проекте сторонники MVVM утверждали, что представление должно быть «немым». Это не имеет смысла, потому что как это может быть глупо, если это узкоспециализированный просмотрщик? Возможно ли, что MVVM происходит из мира Интернета, где зрители просты? В любом случае, сторонники MVVM также полагали, что любые данные, которые поступают в представление, должны быть предварительно обработаны, например, преобразованы в HTML, если представление является webview. Кажется излишним. Зачем это делать?
Ответ №1:
Концепция MVVM заключается в отделении бизнес-логики (модели) от представления. В вашем случае reader writer должен быть в коде модели. Плюсом является то, что если вы в любой момент захотите внести изменения в сторону представления, вы можете сделать это, не изменяя и не перемещая код, который выполняет фактический обмен данными (чтение-запись).
Это также означает, что вы можете писать тесты для своей модели, и если вы измените свое представление, модель и тестовый код останутся нетронутыми.
Недостатком MVVM является то, что он добавляет некоторый дополнительный уровень кода, это может увеличить время разработки (по крайней мере, когда вы новичок в MVVM), и в начале вы можете чувствовать себя немного заблокированным, следуя шаблону.
В конце концов, я обычно нахожу, что плюсов больше. Вы получаете хороший и хорошо продуманный дизайн, разделяете проблемы с кодовой базой, легко тестируете разные части, и в тот день, когда вы получите запрос на изменение или расширение элемента управления, это будет намного проще.