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