【发布时间】:2013-09-18 17:12:18
【问题描述】:
考虑一个 MVC4/EF5 项目:
- 创建一个包含 3 个模块的 Web 应用程序。
- 根据客户许可证,我们将启用或禁用 1-3 个模块。
- 每个模块都将处理少数常用表(用户、公司等)。
- 每个模块都将处理特定于其功能的表(PO、时间表等)
- 一个管理员门户,管理员用户与普通用户位于一个单独的表中。
- 使用视图模型传递给视图的数据
- 最终会有一个 JSON 服务用于公开部分应用程序功能。
- 此应用程序将进行多次部署,并进行轻微定制(不仅仅是启用/禁用三个模块中的每一个)。
目前的计划:
- 模型的单独 dll
- 为每个模块/功能区提供单独的 dll。
- ViewModel 的单独 dll
- 用于管理门户的单独 dll
- Web 服务的单独 dll
问题:
- ViewModel 的单独 dll 有什么好处吗?
- 在项目组织和源代码控制方面管理同一应用程序的多个变体的提示?
- 是否应该有一个单独的 dll 用于身份验证(成员资格和角色提供程序)?
- 还有其他想法吗? (对于开放式/加载的问题,我很抱歉,也许我应该删除这个)
【问题讨论】:
-
你的想法是正确的。另外看看 nopCommerce,他们已经实现了基于插件的开发模型,以使他们的开发和部署模块化。
-
如果您为它们托管应用程序,可能也值得查看 FeatureFlags。如果您将功能放在它们后面,那么您可以为每个用户启用/禁用它们。
-
看看我的问题在这里它涵盖了一些问题stackoverflow.com/questions/10428300/…
-
@sheamus 我还能做些什么来帮助解决这个问题?
标签: asp.net-mvc visual-studio design-patterns asp.net-mvc-viewmodel