【讨论】关于mvc与三层架构解决思路


关于mvc与三层架构
最近在学习mvc设计模式,拿它和三层架构做了一些比较:
我认为mvc设计模式,关键在于构建model,model就是mvc模式的灵魂,他包含了三层架构里面的 “实体规范层”、“行为规则层”、“数据访问层”;控制器(Controller)用来收集view提供的用户数据,传递给model,同时返回model处理后的数据给view。model的设计可以参考三层架构的设计方法,将实体、行为规则(业务逻辑)和数据访问分开,在数据访问上可以应用orm框架。三层架构同样可以应用orm框架。个人认为三层架构和mvc都是很好的设计方法,目的都是降低系统的耦合性,提高重用率,提高系统的可维护性,可以根据喜好进行选择。

如何在三层架构和mvc之间进行取舍呢?或者说它们就和我所理解的一样,根据喜好选择,没有实质的优劣。
有理解不当之处,希望大家指出来,呵呵~欢迎大家进行讨论。

顺便BS一下改版,这页面不是一般的丑,美工该下岗了。

.net 程序开发 asp

和谐是一家 11 years, 10 months ago


为什么一定要有选择呢?个人前段时间也在进行这方面的尝试,仔细研究了一下Microsoft ASP.NET MVC 1.0源代码,
并在两个网站项目中进行了具体应用。大致的总体技术框架结构如下:
基础结构: 全局接口、常量、公共工具类
数据实体:定义数据操作实体,主要用于业务逻辑层与数据访问层交互
业务模型层:定义具体业务需要的和View需要使用的模型类,用于业务逻辑层、View(视图层)、Controller(控制器)三方交互
数据访问层:修改RepositoryFactory,直接延用大体框架
业务逻辑层:提供业务处理服务,操作业务模型和数据实体

奶油马铃薯 answered 11 years, 10 months ago


习惯三层了。。

咏遠噎漾屌 answered 11 years, 10 months ago


还是三层吧

永恒F青英 answered 11 years, 10 months ago


搞不懂,希赛为什么不用宽屏的。

宅君十二恨 answered 11 years, 10 months ago


当然啊,你要明白三层架构的MVC的区别和联系:

三层架构是最基本的项目分层结果,而MVC则是三层架构的一个变体,MVC是一种好的开发模式。首先你要明白MVC分别代表的是什么意思.
M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
V 即View(视图层),主要用于显示数据和提交数据
C 即Controller(控制器),主要是用作捕获请求并控制请求转发

三层:UI 界面层 BLL 业务逻辑层,DAL数据访问层,Model 实体层
MVC中的的M 不是三层中的Model(实体层),他其实包括三层中的 BLL,DAL,Model,这是非常要注意的,这也是他们之间的区别的关键所在

其有点有如下:
低耦合性
高重用性和可适用性
较低的生命周期成本
快速的部署
可维护性
有利于软件工程化管理

当然优点也有缺点,那就是内部结构复杂,不容易理解,文件数量大,管理难度自然也就大

堕落的鲸鱼 answered 11 years, 10 months ago


顶以下,架构是个好的解决方法.

ddps2 answered 11 years, 10 months ago


三层也好、MVC也罢,关键是要适用,不能照搬,俺早就把三层中 Model 与 Business,

而将 DA 完全分离出去,从而得到了真正适用自身滴三层,至于 MVC 待俺研究后再来分析哈

tony055 answered 11 years, 10 months ago


up

金仴靈金仴靈 answered 11 years, 10 months ago


研究中

你们就好啦 answered 11 years, 10 months ago


我感觉新版蛮好啊,简洁。

動と静D均衡 answered 11 years, 10 months ago


得分情况

東風谷灬早苗 answered 11 years, 10 months ago


我来顶你,其实你说的哪个问题,每个人都有不同的看法

由比ケ浜結衣 answered 11 years, 10 months ago


<fieldset> <legend> 探讨 </legend>
怎么没多少人啊,看来人气真的不行了~难道是我RPWT?
</fieldset>


肉肉的娇妹妹 answered 11 years, 10 months ago

Your Answer