mvc和三层架构到底有什么区别
也就是说三层架构是MVC的一种实现?
那你就错了,你自己也不懂 展开
2018-07-06 · 百度知道合伙人官方认证企业
MVC:是一种框架设计方式(Model View Controller),是模型(model)-视图(view)-控制器(controller)的缩写。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。
1.模型(model)它是应用程序的主体部分,主要包括业务逻辑模块和数据模块。模型与 数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一 次就可以被多个视图重用,所以减少了代码的重复性。
2.视图(view) 用户与之交互的界面、在web中视图一般由jsp,html组成。
3.控制器(controller)接收来自界面的请求 并交给模型进行处理 在这个过程中控制器不做任何处理只是起到了一个连接的作用。
MVC优点:
1.降低代码耦合性。在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其他层中的代码。
2.有利于分工合作。在MVC模式中,由于按层把系统分开,那么就能更好的实现开发中的分工。网页设计人员可进行开发视图层中的JSP,而对业务熟悉的人员可开发业务层,而其他开发人员可开发控制层。
3.有利于组件的重用。如控制层可独立成一个能用的组件,表示层也可做成通用的操作界面。可以为一个模型在运行时同时建立和使用多个视图。
MVC缺点:
1.增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
2.视图层展示依赖与模型层,视图层需要很少的字段,但是模型层全部提供,性能上有一定影响
注意:mvc由于市场的需求,演变出三层框架
三层框架:按照高内聚低耦合的思想,形成一种标准的分层方式。分为三层:界面层(UserInterface layer)、业务逻辑层(BusinessLogic Layer)、数据访问层(Dataaccess layer)。
界面层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。
业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。
数据访问层:也称为是持久层其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。完成CRUD的操作,数据交互及落地。
按照标准创建项目:
View-》控制层-》业务层-》dao层----加上common公用类层
具体分层见下图:
我只说Java中的啊,mvc:m就是model层,v就是view ,c就是controller ,《1.》如果不用框架,只用servlet,那么controller就是我们自己写的servlet代码,然后view就是jsp代码,model通常就是一个javaBean, 在service和dao层来回携带数据;上面就是mvc;三层指的是action(controller) 层,service层 dao三层;
《2.》如果用框架struts,spring mvc,那么controller就是框架部分,我们通常写的是model模型部分,用它调用service层,view还是jsp,不知道你明白不?我给你两张图,希望你好好理解,
第一张是基于servlet和JavaBean的三层架构MVC ;第二张就是真正意义上的MVC三层架构,希望采纳啊,我是真心的回答你的
三层架构中,DAL、BLL、WEB层各司其职,意在职责分离。
MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的WEB层,也就是说,MVC把三层架构中的WEB层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。
M对应了三层架构中的业务逻辑和数据
V对应了三层架构中的表示层也就差不多是界面的意思吧
C是指接收用户的操作后通过M和V完成用户的需求
不就一样么
反正我是这么理解的
等等说话!
知不是不是官方的说法而已!!