Я скоро приступаю к работе над новым проектом и буду искать советы по архитектуре от тех из вас, кто имеет опыт работы с WPF, Prism и MVVM.Призма и MVVM для нового проекта WPF
Проект, безусловно, будет WPF, и я буду внедрять MVVM (я, скорее всего, буду использовать MVVM Foundation Джоша Смита в качестве отправной точки), чтобы иметь возможность извлечь выгоду из разделения UI/логики и т. Д. Я не уверен хотя, если бы я выиграл от использования Prism, а также для структурирования моего проекта.
Позвольте мне кратко описать проект. Будет основная «панель инструментов», на которой будет отображаться ряд виджетов. Каждый виджет отображает некоторые базовые данные, связанные с его функцией, и щелчок виджета откроет новое окно, которое отобразит гораздо более подробные данные и содержит богатый пользовательский интерфейс для просмотра/редактирования данных.
Теперь я думал, что могу использовать Призм для создания проекта, но я никогда не использовал его раньше и не уверен, подходит ли он для достижения того, чего я пытаюсь достичь. Например, будет ли моя «панель инструментов» оболочкой, содержащей регионы, которые будут заполнены каждым виджетами? Будет ли каждое новое окно, отображаемое при щелчке виджета, также быть его собственной оболочкой с собственной настройкой региона? Если я смогу получить шаблон для панели инструментов и одного виджета на панели инструментов, я могу воспроизвести ее для остальных виджетов.
Помимо Prism, у меня есть вопрос о том, как MVVM должен быть реализован для определенных окон редактирования данных. Предположим, у меня есть диаграмма, которая отображает некоторые данные, и пользователь может непосредственно щелкнуть мышью/мышью на диаграмме, чтобы отредактировать данные, которые он видит. Все данные находятся в модели, и модель представления делает эти данные доступными для просмотра посредством привязки. Мой вопрос в том, где будут записываться щелчки мыши или перемещать события, которые относятся к диаграмме в этом представлении? Нам не нужно много/ничего в коде обзора, и мы не хотим иметь обработчики событий UI в модели представления, поэтому я не уверен, как обрабатывается этот тип сценария. Я знаю, что команды являются вероятным ответом здесь, но образцы MVVM, которые я видел, обычно показывают примеры команд для простых нажатий кнопок. Является ли общая идея тем же самым?
Итак, если у кого-либо есть предложения по вышеуказанным или любым общим советам по работе с WPF и MVVM/Prism, пожалуйста, дайте мне знать.
Спасибо.
В этой статье используется MEF вместо Prism, но в остальном есть интересные идеи о WPF и MVVM при работе с материалами IoC: http://www.codeproject.com/KB/WPF/SoapBoxCorePinBallDemo.aspx –