三层架构和mvc 学哪个好?

我是新手,只想熟练使用一种开发方式,不管大项目小项目,都合适用的方式。如果你这辈子只能学其中一种,你学哪一种呢。... 我是新手,只想熟练使用一种开发方式,不管大项目小项目,都合适用的方式。如果你这辈子只能学其中一种,你学哪一种呢。 展开
 我来答
重典技术闲话
推荐于2016-11-09 · TA获得超过2173个赞
知道大有可为答主
回答量:2593
采纳率:0%
帮助的人:1158万
展开全部
好激烈的一个帖子啊,但是我感觉大家答的不是太靠谱
bigsolomon 同学答的还不错

先说下两者出现的目的:
三层是一种为了Project间解除耦合所提出来的简单的分层方式
但MVC其实并不是基于Project的分层方式,而是一种解除展示模板与主要访问控制依赖的设计模式(其实全部都是基于UI的)
【这段楼主可不看:不过有同学说 V是三层的UI,C是三层的BLL,M是三层的DAC,这么说其实不是很对 UI可以认为是 UI=C+V+VIewModel而数据库访问的Model要根据是否是充血模型来判断是否归属于DAC】

再说下两者是基于什么来工作的:
简单说三层至于基于项目,MVC可以基于面向对象关系(即MVC可以在一个项目中,而三层至少要三个项目),而MVC和三层也可以共同使用,本身并不冲突

下面我再说下两者的知识储备(这里说的是理解,而不是使用,使用的话当然可以不求甚解,但我觉得不求甚解的使用方式是对个人不会有提高的,项目做完了,啥也没学到,其实也没意思):
三层:相对来说有简单的面向对象知识,面向接口编程知识即可写出简单的三层
MVC:首先要完全了解面向对象,以及设计模式(因为MVC本身是复合设计模式,所以至少要了解GOF95那些)的知识基础,也要了解面向切面编程以及 各种程序解耦的方式

总结一下:
MVC与三层,共同的地方只有一点,就是看起来都是三个组成部分。但其使用的目的是不一样的,就算使用(MVC -BLL-DAC)这种形式,也是可以的。
如果真正了解MVC的同学,因为有了一定的学习基础,即便不会三层,也可以通过简单学习快速使用三层,因为三层的学习代价并不大。
一切的设计模式都是为了解耦而生,至于为什么需要解耦,就需要了解耦合的所有坏处。

我难得写这么长的回复。。。尴尬了
金榜题名008
2012-01-14 · TA获得超过108个赞
知道答主
回答量:163
采纳率:0%
帮助的人:72.4万
展开全部
楼主,首先要分清楚,三层和MVC只是两种不同的开发模式,不管大小项目这两种方法都适用,如果是新手刚学的话,可以先从三层学起,但是MVC也要学,现在很多公司在用!希望帮到楼主!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LYK_FA
2012-01-14 · TA获得超过873个赞
知道答主
回答量:171
采纳率:0%
帮助的人:210万
展开全部
哈哈,兄弟,其实你没弄懂,MVC是基于三层架构的设计模式,微软的MVC只不过是把MVC设计模式给实现出来了。
MVC和三层,就好像房间和大楼一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丢弃的lover
2012-01-14
知道答主
回答量:66
采纳率:0%
帮助的人:12.6万
展开全部
如果是你自己的公司,不用你自己写代码,你要是给别人打工,用那个也不是你说了算的,技术牛人也许会说了算,但你这种想法,能成为技术大牛吗???学会了都是自己的,你自己看着办
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾觉空
2012-01-15
知道答主
回答量:16
采纳率:100%
帮助的人:6.5万
展开全部
根据不同的项目采取不同的框架 最好都学 不过可以先着重的学习一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式