Architectural Pattern(3)-N-Tier与MVC架构的区别与联系
来源:互联网 发布:net反编译成源码 编辑:程序博客网 时间:2024/05/30 04:54
MVC模式具体可参见“Architectural Pattern(1)--MVC",N-Tier可参见"Architectural Pattern(2)-n tier architecture pattern",本小文主要考虑N-Tier与MVC架构的区别与联系.
在”http://www.csdn123.com/html/technology/2013/20131218/3830.htm“看到这么一段话:
就拿多层架构中最典型的三层来说,在三层中,数据访问层(DAL)、业务逻辑层(BLL)、Web层各司其职。MVC是Model-View-Controller。严格说起来这三个加起来才是三层架构中的Web层,换种说法就是MVC就是表示层中再度分化,分成了控制器、视图、实体三个部分。View完成页面逻辑,Model则封装需要传递到View进行显示的数据,而控制层则与三层中的BLL进行通信。
这段话中的”层“指的是Tier而不是Layer(Layer与Tier的区别详见Architectural Pattern(2)-n tier architecture pattern),
我仔细思量这段话,发现他有两个误解。
一个是他有个自相矛盾的地方:MVC的控制层与三层中的BLL进行通信,按照MVC的模型,controller是与model通信的,那么BLL就是model了,这就与前面这句”这三个加起来才是三层架构中的Web层“是相互矛盾的。
MVC的三个模块,是可以看做3个Layer,而这3个layer到底属于哪几个Tier 则需要具体问题具体分析(在不同的应用场景中是不一样的)。这里单说,如果是jsp+servlet的模式,那么由于jsp与servelet是一体的,他们只能部署在一起,只能算一个Tier,因此这时候就只有两个Tier: jsp+servelet(view+controller)算做Presentatiion Tier, Model则同时完成BLL+DAL的功能.
第二个是他对model的理解是有局限的,他说”Model则封装需要传递到View进行显示的数据“, 但是实际上Model(数据模型)的定义远强于这个描述:用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。也就是说,他包括了BLL+DAL,而返回给jsp的仅仅是一个value object,是model的一个返回值而已,并不是model的全部。
综上所述:如果我们使用了jsp+Servelet的架构,那么MVC的VIEW(也可以说包括controller,但有的文章把controller单独拿出来,哪一层都不算)对应的是presentation tier,model则包括了BLL+DAL。
0 0
- Architectural Pattern(3)-N-Tier与MVC架构的区别与联系
- Architectural Pattern(2)-n tier architecture pattern
- 三层架构(3-tier application) 与MVC对比
- MVC和三层架构联系与区别
- MVC和三层架构联系与区别 .
- 三层架构和 MVC 模式的区别与联系
- 架构模式 MVC、MVP、MVVM 的区别与联系
- Three-tier与MVC的不同
- Architectural Pattern(1)--MVC
- /n和/r的区别与联系
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- 三层架构与MVC架构的区别
- Prototype-oriented Programming和Prototype Pattern 的区别与联系
- 三层架构 和 MVC的联系与区分
- MVC与三层架构的区别
- 三层架构与MVC的区别
- LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- NYOJ-91 阶乘之和
- oracle 11g各种下载地址
- MySQL SQL优化:SQL爬虫翻页优化
- hdu4510 小Q系列故事——为什么时光不能倒流
- Architectural Pattern(3)-N-Tier与MVC架构的区别与联系
- linux command
- phpcms v9 数据库操作函数
- 北京南站一日游
- 类的大小
- OpenSUSE11.1安装指南
- Android学习 笔记3
- 如何分析解决Android ANR
- NYOJ 2