Я разрабатываю линейное бизнес-приложение с использованием WPF, возможно, с несколькими сетями SL. Одним из требований является то, что пользовательский интерфейс должен быть составлен на основе пользовательских ролей/прав. Например, если пользователь является продавцом, она не должна видеть какие-либо компоненты учета. Если пользователь является клерком учета, этот пользователь увидит некоторые компоненты учета и подмножество компонентов продаж. Если пользователь является менеджером отдела учета, она увидит все модули учета и большую часть модулей продаж и т.д.
Я знаю, что Composite Application Library поддерживает модульную загрузку и состав пользовательского интерфейса (очевидно), но я хочу быть уверенным, что у нее есть гибкость для поддержки этой функции, прежде чем я вложу большой кусок времени в ее прокрутку.
Я не спрашиваю, является ли композиция пользовательского интерфейса на основе ролей "запекаемой" в библиотеке (я предполагаю, что это не так), но только если она подходит для этой модели - я могу перехватить или настроить загрузку модуля и логику составления пользовательского интерфейса без каких-либо серьезных кодовых искажений.
Спасибо.
Руководство по композитным приложениям на самом деле является очень хорошим вариантом для этого. Благодаря возможности легко распределять контент по регионам, вы можете легко менять свой контент по ролям.
Я лично считаю, что объединение Prism с MEF упрощает эту ситуацию, поскольку MEF позволяет упростить динамическую расширяемость ролей.
Я бы рекомендовал прослушивать разговоры Glenn Block о Prism, Unity и MEF.