Подходит ли руководство по составному приложению PnP WPF/Silverlight для создания пользовательского интерфейса на основе ролей?

Я разрабатываю бизнес-приложение с использованием WPF, возможно, также с многоцелевым SL. Одним из требований является то, что пользовательские интерфейсы должны быть составлены на основе ролей/прав пользователей. Например, если пользователь является продавцом, он не должен видеть никаких компонентов учета. Если пользователь является клерком по бухгалтерскому учету, он увидит некоторые компоненты бухгалтерского учета и подмножество компонентов продаж. Если пользователь является руководителем отдела бухгалтерского учета, он увидит все модули бухгалтерского учета, большую часть модулей продаж и т. д.

Я знаю, что Composite Application Library поддерживает загрузку модулей и композицию пользовательского интерфейса (очевидно), но я хочу быть уверен, что у нее достаточно гибкости для поддержки этой функции, прежде чем я потрачу много времени на ее расширение.

Я не спрашиваю, является ли компоновка пользовательского интерфейса на основе ролей встроенной в библиотеку (я предполагаю, что это не так), я спрашиваю только о том, подходит ли она для этой модели — что я могу перехватить или настроить загрузка модуля и логика композиции пользовательского интерфейса без каких-либо серьезных искажений кода.

Спасибо.


person Jay    schedule 26.01.2010    source источник


Ответы (1)


Composite Application Guidance на самом деле является очень хорошим вариантом для этого. Имея возможность легко назначать контент регионам, вы можете очень гибко менять свой контент по ролям.

Лично я считаю, что объединение Prism с MEF упрощает ситуацию такого типа, поскольку MEF упрощает динамическую расширяемость. для ролей.

Я бы рекомендовал слушаю чаты Гленна Блока о Prism, Unity и MEF.

person Reed Copsey    schedule 26.01.2010
comment
Да, МЭФ. Мне еще предстоит вникнуть в это. Можете ли вы дать мне краткий обзор того, что он предлагает (ну, я думаю, вы уже это сделали)... как насчет однострочного обзора что такое MEF. Боюсь, я даже не знаю, для чего это. (Я буду слушать этот подкаст, на который вы ссылались, но, по иронии судьбы, я не могу делать это здесь, на работе.) - person Jay; 26.01.2010
comment
Один лайнер: MEF — это библиотека, которая позволяет очень легко динамически добавлять контент в ваше приложение, «расширяя» его во время выполнения. По сути, это очень чистый способ создания расширяемого приложения (например, так работает расширяемость VS2010). - person Reed Copsey; 26.01.2010