【发布时间】:2010-12-02 21:43:41
【问题描述】:
我下载了Prism v4 并运行了安装程序。我进入目录并运行以下两个批处理文件:
- 仅限桌面 - 使用 Mef QuickStart.bat 打开模块化
- 仅限桌面 - 使用 Unity QuickStart.bat 打开模块化
当我编译这些应用程序时,我没有看到任何真正的区别。我搜索了 MEF vs Unity,发现了一些优点/缺点,但没有具体说明在 Prism 中使用是否“更好”(我知道这是主观的)。我想也许如果我列出我的要求,有人可以指出我要使用的正确技术(即使它不是 Prism 4)。
- 应用程序将使用 WPF 编写(不 Silverlight)。
- 主应用程序将非常薄。
- 主应用程序将使用 Web 服务来构建用户有权访问的“应用程序/模块”菜单。
- “应用程序/模块”将完全包含在其他托管库中。
- 主应用程序通过反射到这些 DLL 中来获取视图和视图模型。
- 主应用程序应将日志等服务提供给这些“应用程序/模块”。
例如:
基本用户可能有以下选项:
- 仅查看地址记录
所有与地址相关的项目都在 Address.dll 中。
高级用户可能有以下选项:
- 新建地址记录
- 打开地址记录(更新/删除)
- 管理用户
所有与地址相关的项目都在 Address.dll 中。
所有与管理相关的项目都在 Admin.dll 中。
该应用程序实际上不应引用这些 DLL 中的任何一个,我计划对其进行反映,以便如果有 100 个不同的模块并且用户只能访问其中的 2 个,则只有其中 2 个被下载和使用。而有权访问其中 10 个的用户将获得这 10 个。
我已经解决了通过WebService下载DLL的问题。 :)
【问题讨论】:
-
将 Prism 2.1 与 Unity 和 WPF 一起使用...到目前为止很开心,虽然没有亲自使用过 MEF...
-
你最后做了什么?我正在研究一个类似范围的项目,所以您的意见会很棒。
-
谢谢,您对您如何通过服务获取权限和下载有任何意见吗?任何输入或提示都会很棒
标签: wpf mvvm unity-container mef prism-4