Просмотр моделей и внедрение зависимостей

Работая над настольным LOB-приложением с большим количеством операций CRUD, используяPRISM а такжеБиблиотека предприятияЯ заметил повторяющуюся картину, которая кажется раздражающей. Для каждой сущности модели предметной области (например, Contact) я сам оборачиваю ее моделью представления (например, ContactVM), затем я представляю новуюContactsVM (обратите внимание на 's'), где последний класс принимает интерфейс репозитория, который используется для заполненияObservableCollection<ContactVM> и для каждогоContact сущность, которую я прочитал из хранилища, я обернуть его вContactVM который я передаю сущности через конструктор вместе с другими службами корпоративной библиотеки, необходимыми моему ViewModel.

Проблема в том, что все мои конструкторы модели представления начали использовать этот шаблон следующим образом:

ViewModel(EntityToWrap e, DependencyFromEntLib, OtherDependencies ...)

Теперь это проблема, потому что большинству инструментов и библиотек требуется конструктор по умолчанию без параметров (например, некоторые коммерческие сетки данных нуждаются в этом для обеспечения поддержки фильтрации), плюс вы не можете использовать данные проектирования для визуализации объектов, потому что им также нужны конструкторы без параметров. и, наконец, вопрос: как правильно построить модели представлений и следует ли предоставлять услуги Entlib через конструкторы или черезServiceLocator ?

Ответы на вопрос(1)

Ваш ответ на вопрос