.NET MVC 和 三层(DLL+DAL+Model)有啥区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET MVC 和 三层(DLL+DAL+Model)有啥区别?相关的知识,希望对你有一定的参考价值。

java中和asp.net中差不多的,asp.net不是很熟,下面就用java来说明吧:
其实它们相同的地方在于他们都有一个表现层。

但是他们不同的地方在于其他的两个层。

首先先解释一下MVC。V即View.是视图的意思。C即Controler.是控制器的意思。而M即Model,是模型的意思。这三个里.最不容易理解的应该是Model.就是什么是Model,而为什么叫Model。我先不说为什么叫Model,先解释Controler。

Controller是控制器的意思,所谓控制器,就是将用户请求转发给模型层,经过处理后把结果返回到界面展现的一个中间层,那么Controler到底管什么工作呢?先不说.先来看下在Asp.Net Web中这三个层一般的定义,一般在Asp.Net Web里,aspx充当V,Servlet充当C,JavaBean充当M,这里的Servlet管什么工作呢?接受输入,转到Model层去处理,处理结果保存后转发到JSP,然后展现数据。所以它的功能就是控制器的基本功能,它就管转发,在V和M之间转来转去。

再来说说M,即Model,在Java Web里说的是JavaBean,我认识的很多人都把JavaBean误认为是实体类,其实JavaBean有比实体类更丰富的定义,在JavaBean中除了其属性和字段,还可以有行为及其事件,JavaBean可以理解为普通Java对象。Java普通对象,就是符合Java规范的所有对象,这和实体类完全是两回事。所以,我认为在MVC中。业务逻辑和数据访问应该放在Model层,也就是V负责展示数据,Controler除了转发不做业务逻辑。真正的逻辑事务,数据访问,甚至算法都放到Model去。

再说三层架构。三层其实很好理解,界面,业务,数据访问,就这三个,从字面都可以理解出它们的意思。我要说的是它和MVC的区别。在三层架构中没有定义Controler的概念。这是我认为最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。

当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是已实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。不一样的概念。虽然名字一样。
参考技术A 肯定有区别啦。。DLL+DAL+Model这个是 表示层,业务层,实体层。mvc是 实体层视图和控制器作用和业务都不一样,在三层中是传替 在mvc中就不是那么理解了,表示层的内容大部分都是用代码生成的。。 参考技术B - -~ 怎么比???
一个是环境框架 一个是数据访问框架
应该问mvc和事件驱动的访问机制有什么区别- -~
具体来说就是美 干净 漂亮
加上Linq的数据访问 在 64位 操作系统上 那就是王道~
可是mvc适合小型开发~ 没有很好的大型开发的解决方案
你想想 所有的控制都放一个controller里 不同的页面 怎么管理源码~ 虽说可以分布类 但是还是有很多命名规则问题~
mvc 的开发分配都是大方向的 不能做到细分~
事件驱动的话 可以细节到页~
而mvc 只能细节到一个一个的功能模块~
在我看来mvc和事件驱动 是两套不同的代码管理方法

追加 复制党死去- -~ 不会发个链接啊~ 流量宝贵~
参考技术C MVC框架是基于三层 发展的 mvc把框架分为物理模型 和逻辑模型 逻辑模型也就是 三层
所有的框架是基于逻辑模型 在此基础上 添加物理模型

.Net5005MVC开发和三层架构

文章目录


三层架构

三层架构和MVC是有区别不一致的


三层架构和MVC的对应关系



三层架构:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL/DAO)

三层架构细分之后:View(UI)、BIZ(BLL)、DAO(DAL)、Entity(Model)、Controller

MVC:把 BIZ(BLL)、DAO(DAL)、Model(Entity) 统一称之为 模型(MODEL),得到:View、Controller、 模型(MODEL)


MVC架构

什么是MVC?

Asp.NET Core MVC 框架

M-视图模型—用作控制器和视图之间传递数据的载体
V-视图------呈现给用户看到的内容(表现层)
C-控制器----控制业务逻辑计算,调用服务,选择返回什么内容,可以返回视图,JSON,字符串等等

View视图-cshtml文件:其实是一个类文件


怎么区分MVC分离

分离业务操作 Model 业务模型或数据模型
分离数据显示 View 显示数据
分离逻辑控制 Controller 不处理数据处理请求


Razor混编

可以在cshtml 上写上后台C#代码+前台html代码;混合起来

以上是关于.NET MVC 和 三层(DLL+DAL+Model)有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC 的三层架构 + EF数据模型

MVC和三层架构的个人理解

ASP.NET MVC5+EF6搭建三层实例

.Net5005MVC开发和三层架构

.Net5005MVC开发和三层架构

Asp.Net MVC+EF+三层架构的完整搭建过程