1、mvc原理
mvc是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提升了程序的可维护性、可移植性、可扩展性与可重用性,下降了程序的开发难度。它主要分模型、视图、控制器三层。
一、模型(model)它是应用程序的主体部分,主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型与数据格式无关,这样一个模型能为多个视图提供数据。因为应用于模型的代码只需写一次就能够被多个视图重用,因此减小了代码的重复性
二、视图(view) 用户与之交互的界面、在web中视图通常由jsp,html组成
三、控制器(controller)接收来自界面的请求 并交给模型进行处理 在这个过程当中控制器不作任何处理只是起到了一个链接的作用
2、MVC的优势
一、能够为一个模型在运行时同时创建和使用多个视图。变化-传播机制能够确保全部相关的视图及时获得模型数据变化,从而使全部关联的视图和控制器作到行为同步。
二、视图与控制器的可接插性,容许更换视图和控制器对象,并且能够根据需求动态的打开或关闭、甚至在运行期间进行对象替换。
三、模型的可移植性。由于模型是独立于视图的,因此能够把一个模型独立地移植到新的平台工做。须要作的只是在新平台上对视图和控制器进行新的修改。
四、潜在的框架结构。能够基于此模型创建应用程序框架,不只仅是用在设计界面的设计中。
3、MVC的不足之处
一、增长了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增长结构的复杂性,并可能产生过多的更新操做,下降运行效率。
二、视图与控制器间的过于紧密的链接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是颇有限的,反之亦然,这样就妨碍了他们的独立重用。
三、视图对模型数据的低效率访问。依据模型操做接口的不一样,视图可能须要屡次调用才能得到足够的显示数据。对未变化数据的没必要要的频繁访问,也将损害操做性能。
四、目前,通常高级的界面工具或构造器不支持模式。改造这些工具以适应MVC须要和创建分离的部件的代价是很高的,从而形成MVC使用的困难。html