日期:2014-05-17  浏览次数:20408 次

谈谈三层架构与MVC区别
在网上查了下,有点晕,请高手谈谈看法?

------解决方案--------------------
MVC是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。 
三层架构是在一个应用程序中把数据(数据层),业务逻辑(业务层),和用户接口(表示层) 分开的一种概念。把业务层和表示层分开,我们明白解决方案在一些地方是模糊的,完全分开是一件困难的事。对于缺少经验的开发者,MVC 是一种实现三层架构的比较清晰的实现。 

没可比性 
http://topic.csdn.net/u/20090710/14/07f4447d-60c4-4b74-af1c-ea1b6e2e9ca7_2.html
------解决方案--------------------
区别还是有滴

1、一个是架构一个是设计模式(大原则上就有个差异)

2、MVC中有Controller这个 而三层架构没有(其实也可以有)

3、Model也有区别 MVC中的Model是有业务逻辑与数据访问组成

4、相同点就是都有个View(这个必须有)
------解决方案--------------------
我个人认为三层架构就是由MVC延伸过来的,没有MVC就没有现在的3层架构
本质上是相同的,但我有点不明白,为什么有了在开发中3层架构思想,
微软还要推出个MVC?
------解决方案--------------------
主要是关注的点不同

如果用广告大王赵本山大爷的包袱来说

如何把大象装进冰箱里?

那么3层架构的答案就是,“把冰箱门打开,把大象装进去,把冰箱门关上”-他首先关注的顺序,步骤和工序

而mvc的答案是:“我需要做一个什么模样的冰箱模型,才能够适合这个要求”

ps:当然实际工作中实际并没有这么大区别,因为目标是要把大象放进冰箱,无论是先考虑模型也好,还是先考虑步骤也好,目标相同。考虑步骤的最终还是要建立一个合适的模型,而考虑模型的最终还是要使用合适的步骤
------解决方案--------------------
探讨
在.net中是三层,在java中是mvc?

------解决方案--------------------
嗯,补充说明一下通讯中间件的含义。在我的文档中,经常把它叫做“xxxxxx接入子系统”,例如“HTTP接入子系统、TCP接入子系统、WebService接入子系统、SMTP接入子系统、GPRS接入子系统、ashx接入子系统”等等,它使得同样的后台系统为许多客户端代理开放。

或许,四层系统更清楚一些。
------解决方案--------------------
三层的核心是BLL,而mvc的核心是c。

如果让用户只要将v以声明的方式绑定到m上,当用户修改一个界面元素的时候所有跟它连着神经的m(的某个对象的某个属性)就自动感知地去修改了,反向传递亦然。对于用户行为也是如此。如果设计界面时不需要编写程序,那么就需要我们把c单独拿出来研究,使得它可以自动入侵到v和m架构中,建立属性变化和操作监听机制。

实际上,这样做下去,我们开发v的时候就非常快,因为越来越不需要编写代码。


可见mvc注重前台开发,而跟传统的后台开发不一样。
------解决方案--------------------
4层也许很好,原始模型和view之间还是存在不少差异

即使mvc阵营,也就不少采用新增viewmodel层的来消除差异的

实际我认为,现在3层和mvc这两个东西争论应该结束,目前他们都有不少融合的趋势

比如petshop的factroy,如果借用Ioc的话,那个中间几个层就可以消失了。而如果本身在model里加入context上下文关联机子,那3层架构的model,也就未必不是mvc的viewmodel
------解决方案--------------------
实际上已经非常明白了

无非是2个视角

架构论的以软件工厂为目标的:就像一个珠宝加个工厂,莫管它是啥,步骤就是一样,切割,打磨,加工,抛光,镶嵌----他所做的就是忽略产品的不同,谁来都一样

而mvc论的则是以设计目标为导向:我要一个126面的紫色水晶八爪镶嵌的戒子,那么生产和设计的目标就全是围绕这个目标而作的,设计师如何设计,生产工人如何切割,打磨,加工,抛光全是以最终的目标为导向(view-model),并且在每一步就严格控制在统一的生产检测机制上(control)

实际上作为新人,就别管这些东西了。他对新人实际上作用不大,送你3句话一本小说《灵山》中的3句话
1:莫管他是人、是仙。且看他如何与人打交道-------------管他是啥,能解决问题即可
2:你已在悟道中途,那就守好心中所悟之道,见怪莫怪便是。
3:莫说是师父我,就算漫天神佛,在传人心中也要做到在与不在,并无分别-------自己的道就是自己的道,自己悟到既可,管他是否是神仙之道,还是妖魔之道,别人的道是别人的道理,莫管!你管了解自己的道即可