MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑汇集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不须要从新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
html
小编点睛:架构,主要仍是采用封装(分层)的思想,来下降耦合度,从而使咱们的系统更加的灵活,扩展性更好。web
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。一般控制器负责从视图读取数据,控制用户输入,并向模型发送数据数据库
小编点睛:
设计模式
(1)增长了系统结构和实现的复杂性。架构
对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增长结构的复杂性,并可能产生过多的更新操做,下降运行效率。
(2)视图与控制器间的过于紧密的链接。框架
视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是颇有限的,反之亦然,这样就妨碍了他们的独立重用。
(3)视图对模型数据的低效率访问。ide
依据模型操做接口的不一样,视图可能须要屡次调用才能得到足够的显示数据。对未变化数据的没必要要的频繁访问,也将损害操做性能。
(4) 目前,通常高级的界面工具或构造器不支持MVC架构。工具
改造这些工具以适应MVC须要和创建分离的部件的代价是很高的,从而形成使用MVC的困难
性能
小编点睛:根据MVC的优缺点,咱们知道,对于开发存在大量用户界面,而且业务逻辑复杂的大型应用程序,MVC将会使你的软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费必定的工做量,但从长远角度看,它会大大提升后期软件开发的效率。ui
因此咱们在具体适用时,要综合考虑其适用范围,
小编点睛:
小编点睛: 二、内部工做原理图
小编点睛:上边这张图是MVC的处理过程:三、小例子 (1)先在model层写一个Dog实体类
(2)先在controller层写相应的代码
(3)最后在view层显示数据
(4)运行效果图