永发信息网

三层架构和mvc 学哪个好?

答案:6  悬赏:60  手机版
解决时间 2021-11-23 15:41
  • 提问者网友:轮囘Li巡影
  • 2021-11-23 00:04
三层架构和mvc 学哪个好?
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-11-23 00:10
好激烈的一个帖子啊,但是我感觉大家答的不是太靠谱
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楼网友:千夜
  • 2021-11-23 03:40
根据不同的项目采取不同的框架 最好都学 不过可以先着重的学习一样
  • 2楼网友:有你哪都是故乡
  • 2021-11-23 02:59
如果是你自己的公司,不用你自己写代码,你要是给别人打工,用那个也不是你说了算的,技术牛人也许会说了算,但你这种想法,能成为技术大牛吗???学会了都是自己的,你自己看着办
  • 3楼网友:枭雄戏美人
  • 2021-11-23 02:29
楼主,首先要分清楚,三层和MVC只是两种不同的开发模式,不管大小项目这两种方法都适用,如果是新手刚学的话,可以先从三层学起,但是MVC也要学,现在很多公司在用!希望帮到楼主!
  • 4楼网友:七十二街
  • 2021-11-23 02:09
哈哈,兄弟,其实你没弄懂,MVC是基于三层架构的设计模式,微软的MVC只不过是把MVC设计模式给实现出来了。
MVC和三层,就好像房间和大楼一样。
  • 5楼网友:低血压的长颈鹿
  • 2021-11-23 01:15
=.=!三层架构,MVC都只是开发中的一种构架,构架与构架之间没有哪个好哪个不好之说,对于某一个项目来说没有最好的构架,只有最适合的构架.
三层架构是最简单的一种构架,很好学,也很好用,一般做小项目的时候都用它就足够了.
MVC最初是一种设计模式,运用到项目上以后也被定义为一种构架.
没有一种构架是全能的,最好是根据具体的需求选则最适合的构架,所以学习一种构架,并专精是无可厚非的,比如在自己做项目的时候可以一直选则自己善长的构架.但是别的构架也一定要有所涉猎,因为工作并不是一个人的事,在工作中往往会遇到很多不同的需求,当别人选则了别的更优的构架,到时候你说你不会,如果还不愿意去学那就只能被项目组放弃了.
所以建议你先从三层架构开始,然后再看看设计模式,这真没什么捷径追问讲的很明白,谢谢,我是美术设计师,编程纯粹是个人爱好,我写的程序基本都是自己用,所以觉得熟悉一种模式够了,有时间的话再掌握其他的。
能帮我推荐一本三层架构入门书吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯