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


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

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

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

.net 程序开发 asp

和谐是一家 11 years, 3 months ago


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

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


习惯三层了。。

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


还是三层吧

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


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

宅君十二恨 answered 11 years, 3 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, 3 months ago


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

ddps2 answered 11 years, 3 months ago


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

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

tony055 answered 11 years, 3 months ago


up

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


研究中

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


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

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


得分情况

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


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

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


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


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

Your Answer