【发布时间】:2016-04-30 23:52:58
【问题描述】:
我喜欢先说我完全是 .NET 框架和 ASP.NET 的新手来开始我的问题。但是,我正在尝试学习 ASP.NET 5 MVC 6。我已经阅读了很多教程来加快速度。我从中学到很多的主要教程是“Learn MVC in 7 Days”
我认为我总体上了解了 MVC 架构,但有一些术语/层让我感到困惑,即模型、业务逻辑层、数据访问层和视图模型。
以下是我对MVC架构的整体理解“如有错误请指正”
- (M) 模型:是表示数据库表的对象。数据库中的每个表都是一个模型。每个表中的每一列都是模型对象中的一个属性。例如,如果我有一个名为“users”的表,其中包含以下列
id、firstname、lastname和username,那么模型将被称为user和“id,firstname”,lastname和username" 是属性。 - (V) 视图:通过将数据放入 HTML 页面中,将数据呈现给最终用户的方式。
- (C) 控制器:是由路由引擎调用的层。控制器类包含一些关于用户应该看到哪些数据/视图的逻辑。例如,
UsersController类有一个名为Index()的方法,它从user模型请求一些数据,然后返回一个名为ShowAllUsers的视图。
不过,Model 下方似乎还有另外 3 层
- 查看模型:这似乎是将来自模型的原始数据转换为可呈现的“视图就绪”格式的一种方式。例如,如果我们想向最终用户显示用户的全名,但我们没有全名作为模型中的属性。然后我们这一层将创建一个新对象,该对象与模型对象相同,并具有一个称为全名的附加虚拟属性。因此,我们现在可以在视图中显示 obj.fullname。
- 业务逻辑层
- 数据访问层
此外,如果我想为我的控制器设置一个repository,这适合这里吗?我明白这对于小型应用程序可能不是必需的,但我只是想了解和学习正确的方法,然后我可以决定我的应用程序是否需要它。
我的问题是什么是业务逻辑层,什么是数据访问层? repository 适合放在哪里?
我会很感激一个例子的解释。
【问题讨论】:
-
这个更适合programmers.SE
标签: c# asp.net-mvc repository