MVVM - Преимущества
Шаблон MVVM - это, в конечном счете, современная структура шаблона MVC, поэтому основная цель остается той же - обеспечить четкое разделение между логикой предметной области и уровнем представления. Вот некоторые из преимуществ и недостатков шаблона MVVM.
Ключевым преимуществом является возможность истинного разделения между представлением и моделью, помимо достижения разделения и эффективности, которую вы получаете от этого. На самом деле это означает, что когда ваша модель нуждается в изменении, ее можно легко изменить без необходимости представления, и наоборот.
Есть три важных ключевых момента, которые вытекают из применения MVVM, а именно:
Ремонтопригодность
Четкое разделение различных типов кода должно упростить переход к одной или нескольким из этих более детализированных и целенаправленных частей и внесение изменений без беспокойства.
Это означает, что вы можете оставаться гибкими и быстро переходить к новым выпускам.
Тестируемость
В MVVM каждый фрагмент кода более детализирован, и если он реализован правильно, ваши внешние и внутренние зависимости находятся в отдельных фрагментах кода от частей с базовой логикой, которые вы хотите протестировать.
Это значительно упрощает написание модульных тестов на основе базовой логики.
Убедитесь, что он работает правильно, когда написано, и продолжает работать, даже когда что-то меняется при обслуживании.
Расширяемость
Иногда это перекрывается с ремонтопригодностью из-за четких границ разделения и более детализированных фрагментов кода.
У вас больше шансов сделать любую из этих частей более пригодной для повторного использования.
Он также имеет возможность заменять или добавлять новые фрагменты кода, которые делают аналогичные вещи в нужных местах в архитектуре.
Очевидная цель шаблона MVVM - абстракция представления, которая уменьшает объем бизнес-логики в коде программной части. Однако ниже приведены некоторые другие весомые преимущества:
- ViewModel легче тестировать, чем код программной части или код, управляемый событиями.
- Вы можете протестировать его без неудобной автоматизации пользовательского интерфейса и взаимодействия.
- Уровень представления и логика слабо связаны.
Недостатки
- Некоторые думают, что для простых пользовательских интерфейсов MVVM может быть излишним.
- Точно так же в более крупных случаях может быть сложно разработать ViewModel.
- Отладка будет немного сложной, когда у нас есть сложные привязки данных.