三层架构和mvc 学哪个好?

我是新手,只想熟练使用一种开发方式,不管大项目小项目,都合适用的方式。如果你这辈子只能学其中一种,你学哪一种呢。

好激烈的一个帖子啊,但是我感觉大家答的不是太靠谱
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的同学,因为有了一定的学习基础,即便不会三层,也可以通过简单学习快速使用三层,因为三层的学习代价并不大。
一切的设计模式都是为了解耦而生,至于为什么需要解耦,就需要了解耦合的所有坏处。

我难得写这么长的回复。。。尴尬了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-14
楼主,首先要分清楚,三层和MVC只是两种不同的开发模式,不管大小项目这两种方法都适用,如果是新手刚学的话,可以先从三层学起,但是MVC也要学,现在很多公司在用!希望帮到楼主!
第2个回答  2012-01-14
哈哈,兄弟,其实你没弄懂,MVC是基于三层架构的设计模式,微软的MVC只不过是把MVC设计模式给实现出来了。
MVC和三层,就好像房间和大楼一样。
第3个回答  2012-01-14
如果是你自己的公司,不用你自己写代码,你要是给别人打工,用那个也不是你说了算的,技术牛人也许会说了算,但你这种想法,能成为技术大牛吗???学会了都是自己的,你自己看着办
第4个回答  2012-01-15
根据不同的项目采取不同的框架 最好都学 不过可以先着重的学习一样
相似回答