A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

面试的时候面试官问MVC和三层架构有什么不同的地方!应该怎么回答?

5 个回复

正序浏览
这貌似没什么可比性吧。很多人这样问是误导别人,让别人走进自己挖的陷阱。当然也不排除那人本来就不懂。所谓的三层架构是由模型层、数据访问层(逻辑处理层)、表示层组成的一个架构。而MVC是由Model、View、Controller组成的框架。一个是相互依赖的关系,而一个是相互协助的关系。二者并无关联,也就没什么区别之谈。倒是现在有一种架构ORM是由三层框架加MVC结合创造出来的。
回复 使用道具 举报
当别人给你回答了,要及时设置成提问结束。这样版主才会给你加分的。
回复 使用道具 举报
MVC是表现层的东西 而三层构架 是表现层+业务逻辑层+是数据访问层  这题明显有问题 相当于问你 车胎和汽车有什么不同的地方
回复 使用道具 举报
首先MVC和三层架构,是不一样的。
三层:是最基本的项目分层结果,UI 界面层 BLL 业务逻辑层,DAL数据访问层,Model 实体层,层和层之间各司其职,意在职责分离。
其优点如下:
A、开发人员可以只关注整个结构中的其中某一层;
B、可以很容易的用新的实现来替换原有层次的实现;
C、可以降低层与层之间的依赖;
D、有利于标准化;
E、利于各层逻辑的复用。

缺点:
A、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
B、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
C、增加了开发成本。


而MVC则是三层架构的一个变体,MVC是一种好的开发模式。首先你要明白MVC分别代表的是什么意思:
    M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
  V 即View(视图层),主要用于显示数据和提交数据
  C 即Controller(控制器),主要是用作捕获请求并控制请求转发
MVC中的的M 不是三层中的Model(实体层),他其实包括三层中的 BLL,DAL,Model,这是非常要注意的,这也是他们之间的区别的关键所在。
其优点如下:
A、低耦合性;
B、高重用性和可适用性;
C、较低的生命周期成本;
D、快速的部署;
E、可维护性;
F、有利于软件工程化管理。当然优点也有缺点,那就是内部结构复杂,不容易理解,文件数量大,管理难度自然也就大。

缺点:
A、不利个案创作
B、独立创作
C、难艺术化
D、难个性化。
回复 使用道具 举报
对于这样的问题,我表示现在只能呵呵,楼主如果想知道,应该多看,多学,学多了自然就明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马