【发布时间】:2013-04-02 01:23:57
【问题描述】:
我已经在谷歌上搜索了几个小时,但找不到与我需要的内容完全相关的文章。
我有一个包含以下层的 MVC4 站点:
- 表示层 (MVC4)
- 业务层
- 数据层
我想使用以下提供程序:(使用 NuGet 安装) 安装包 Microsoft.AspNet.Providers
我的问题更多的是建筑问题。
在我看来,我应该在我的数据层中安装这个 (Microsoft.AspNet.Providers),因为它是与会员数据库对话的代码。
然而,我能找到的所有帖子,即使是 Hanselman 也只需将其安装在表示层/MVC4 中。
我非常重视关注点分离,并在整个应用程序中使用依赖注入。
显然我需要在我的 web.config 中为提供者配置配置,但我希望在我的数据层中使用所有成员代码。
有什么想法吗?
谢谢 俄罗斯
PS。很想知道使用 nuget 在数据/存储库层中安装它的过程。对于 Nuget 正在安装的 DLL 有点困惑。如果我安装在我的数据层中,nuget 不会更新 MVC web.config。
【问题讨论】:
-
什么是“MVC 层”? MVC 中的 M 代表 Model;它是你的数据层。我认为您的会员代码应该在 Repository 对象中。
-
@RobertHarvey ,模型不是“数据层”,而是“业务逻辑层”。魔鬼在细节中=P
-
@tereško:如你所愿,但我没有将我的业务逻辑放入模型中。它要么在存储库中,要么在它自己的层中。从技术上讲,我想这都是模型的一部分。
-
@RobertHarvey:正确。我会说模型是控制器用来获取视图所需信息的一切。
-
@RobertHarvey ,您所说的“模型”实际上是域对象。在 MVC 中,您有两个主要层:表示层和模型层。表示层包含视图、控制器、模板和其他用于 UI 逻辑的东西。模型层包含领域对象、服务、存储库等。
标签: model-view-controller architecture dependency-injection inversion-of-control membership-provider