一、概念
MVC(Model View Control)是软件工程中的一种软件架构模式,它把软件系统分为模型、视图、控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
模型(Model):
用于封装与应用程序业务逻辑相关的数据以及对数据的处理方法。业务流程的处理过程对其它层来说是黑箱操作,模型接收视图请求的数据,并返回最终的处理结果。
视图(View):
用户交互界面,视图的功能仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
控制器(Control):
负责转发请求,获取View的信息传递给Model;负责调用模型,将数据交给视图进行展示。
二、优缺点
优点:
(1)低耦合,通过视图、控制和模型分离,三个部件相互独立,改变其中一个部件并不会影响其他两个,所以根据这种设计思想能够构造出良好的松耦合的构件。
(2)重用性高,由于已经将数据和业务规则从表示层分开,所以可以很方便的进行代码的重用。
(3)可维护性高。
(4)便于组织管理,有利于通过工程化、工具化产生管理程序代码。
缺点:
(1)增加了系统结构和实现的复杂性,对于简单的界面业务,MVC三者分离会增加结构的复杂性,产生过多的更新操作,降低运行效率。
(2)访问效率降低,依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据,损害操作性能。
三、相关概念
设计模式是一套被反复使用、多数人知道的、经过分类编目的、代码设计经验的总结。是代码级别的,侧重于解决实际的现实的问题。
框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。
架构模式,一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一些提前定义好的子系统,指定他们的责任,并给出把他们组织在一起的法则和指南。从定义上来看,它是指导我们如何组织代码,是一种具有指导意义的思想。
软件架构,是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。