美文网首页
四、MVC模型

四、MVC模型

作者: 艾特小师叔 | 来源:发表于2020-03-13 23:00 被阅读0次

简介

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 [1-2]

模型-视图-控制器(MVC)是[Xerox PARC](https://baike.baidu.com/item/Xerox PARC)在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司[Java EE](https://baike.baidu.com/item/Java EE)平台的设计模式,并且受到越来越多的使用ColdFusionPHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。

MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分
  通常模型对象负责在数据库中存取数据。

View(视图)应用程序中处理数据显示的部分
  通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据

MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

视图

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括像XHTMLXML/XSL,WML等一些标识语言和[Web services](https://baike.baidu.com/item/Web services).

MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生用户行为,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 只是一个载体

模型

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

例如: 模型返回的数据是中立,List<User> ,如果视图需要的数据是JSON,在Controller可以就模型的数据转化为JSON,同理可以转化为XML,可以转化为byte数据,所以模型的数据是中立的。

控制器

控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据

以上即MVC模型。

MVC优点示例.png

[图片上传失败...(image-6bab31-1584111555236)]

1.1.MVC模型的优缺点

  1. 代码结构分层明确,便于协作开发和代码的可读性和扩展性。
  2. 由于便于协作开发,提高了开发效率
  3. 由于MVC模型,对代码进行分层,提高了代码的复杂度。一定程度上提高了开发门槛。

1.2.MVC模型的使用

在学习的最后,遇到天花板,最终又要回归理论。从本质上找解决方法,解决方法先是理论,实践。通过实践进行验证理论。实践和理论是一个双方相互印证的。

MVC模型是一种思想,是一种设计模式。是用于指导开发的一种模式,将项目进行分层。在项目中,通过包(文件夹)进行分层。

项目包分层.png

进行数据选型:

注意:

1.controller的作用是,接收视图的数据和控制视图的跳转,在目前所学知识里面只有servlet能做到。

所以在controller中,定义servlet,用于接收客户端的数据和控制跳转。

2.View层,进行数据交互,展示数据,让用户输入数据,可以使用HTML。但是由于所学知识点不足,所以使用JSP,JSP是Java和HTML的结合体,目前能更好的实现数据载体的功能

3.Model层,进行数据处理,Java中的JDBC,进行相关数据操作。

这样就定义出了每个包需要些哪些代码。

分层后的包1.png 4个视图.png

相关文章

  • 四、MVC模型

    简介 MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实...

  • 浅谈UI分离之MVPS架构模型

    1.MVC与MVP架构模型 1.MVC MVC全称是Model View Controller: Model(模型...

  • MVC、MVP、MVVM

    MVC框架 MVC的定义 MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,...

  • iOS MVVM模型中各职责定义

    MVC (Model-View-ViewModel)模型 mvc模型是大家最常用也是最喜欢用的开发模型。 MVVM...

  • SpringMVC之MVC与Servlet

    一、MVC与Servlet 目录:MVC、Model时代、Servlet 1.MVC MVC是模型(Model)、...

  • iOS架构设计之MVC

    一、MVC阐述 1.MVC(Model、View、Controller),即模型、视图、控制器; Model:模型...

  • Spring MVC书目录

    MVC历史 MVC概念 为什么会出现MVC框架 常用的MVC框架 MVC模型的发展轨迹 简述Spring MVC的...

  • MVC MVP MVVM

    一:MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器) Model(模型...

  • 04_SpringMVC_01【组件、原理、参数】

    MVC模型 1.MVC是一种表现层的设计模型。它的全名是Model(模型)-View(视图)-Control(控制...

  • iOS-MVVM和MVC的区别

    MVVM和MVC的区别 1. MVC MVC MVC的弊端 厚重的View Controller M:模型mode...

网友评论

      本文标题:四、MVC模型

      本文链接:https://www.haomeiwen.com/subject/nudushtx.html