После долгого сдерживания с поддержанием отношений model-viewmodel (например, создание экземпляров vm для каждого экземпляра модели) У меня есть некоторые идеи, которые могут быть довольно противоречивыми, но я любопытных мнений.MVVM и неявный литой от модели к viewmodel
Что делать, если класс VM был создан для хранения статического списка контейнеров для экземпляров модели. Эти могут (или даже должны) быть слабыми ссылками, поэтому всякий раз, когда экземпляр класса модели выходит за пределы области видимости, его модель обзора автоматически удаляется. Другой вариант - повторное использование экземпляров vm.
Еще одна идея, которая хорошо сработает с первой, может заключаться в создании неявного оператора трансляции из модели в класс viewmodel. Я всегда получал бы тот же экземпляр vm всякий раз, когда вы добавляли из экземпляра модели.
Что вы думаете об этом? Является ли это трудным нарушением правил и шаблонов MVVM?
// edit Я должен, вероятно, также указать, в чем заключается причина: в моем приложении у меня есть несколько мест, где я использую один из моих классов моделей и нуждаюсь в соответствующих ссылках vm. В каждом таком месте мне нужно наблюдать коллекцию и реагировать на изменения - создание или удаление экземпляров vm. Это в основном тот же самый код, который повторяется во многих местах => Я думал о создании только одного места для этого (неявный бросок - это просто конфета, которую не требуется для решения реальной проблемы). Или, может быть, вместо статических списков я должен создать диспетчер, который будет обрабатывать создание экземпляра модели для всех моих классов?
через несколько лет вы обнаружили некоторые недостатки? Было бы интересно увидеть код, который в основном дублируется, но я не думаю, что это так. – WiiMaxx