Идеи по решению проблемы проекта MVVM и постоянно увеличивающегося размера MainViewModel / модели?

#c# #mvvm

#c# #mvvm

Вопрос:

Я начинаю расширять простое приложение MVVM C #. Модель и базовый ModelView начинают увеличиваться до неуправляемых размеров — я разделил доступ к данным модели, чтобы уменьшить сложность, и даже это становится неудобно большим.

Есть ли у кого-нибудь предложения по рефакторингу, прежде чем все это рухнет под собственным весом? Я открыт для всего, от компонентизации до полного отказа.

Заранее спасибо

Ответ №1:

Отношение View к ViewModel не обязательно должно быть 1 к 1. Разбейте Views и ViewModels на более мелкие управляемые части. Ваш основной вид и ViewModel могут представлять собой совокупность меньших видов и ViewModels. Допустим, у вас было представление CustomerView, в котором было поле списка и пара сеток. CustomerView связан с CustomerViewModel. Поле списка и сетки можно было бы поместить в их собственные представления и ViewModels. Таким образом, у вас может быть и связанный с ним CustomerListViewModel, и то же самое может применяться к сеткам.