程序结构设计三步走

编写一个程序,首先是要设计它的结构,再完成它的内容,每一门学问都有它自己并由此而来的方法论。如何设计一个程序的结构是一门专门的学问,这门学问叫做“架构模式”,而这也是属于编程的方法论。

今天小编带大家了解一下程序结构的一种架构模式——“MVC”

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

Model(模型):数据模型,提供要展示的数据,表示应用程序核心(比如数据库记录列表)。是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。因此包含数据和行为,主要提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。主要使用的技术:数据模型:实体类、(JavaBean),数据访问:JDBC,Hibernate等。

View(视图):显示数据(数据库记录),应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。负责进行模型的展示,一般就是我们见到的用户界面,比如JSP,Html等。

Controller(控制器):通常控制器负责从视图读取数据,接收用户请求后,处理输入(写入数据库记录)。控制用户输入,并向模型发送数据。是应用程序中处理用户交互的部分。委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。主要使用的技术:servlet,Struts中的Action类等。

MVC模式认为,程序不论简单或复杂,从结构上看,都可以分成三层(就像一个正常人都有头、身体、腿脚):

1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。

2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。

3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。

这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。

用Windows的计算器小程序为例解释MVC模式。在这个计算器程序中,外部的那些按钮和最上面的显示条,就是"视图层",那些需要运算的数字就是"数据层",执行加减乘除的那些内部运算步骤就是"控制层"。每一层执行不同的功能,整个程序的结构非常清楚。

举个例子:

以淘宝购物车为例,这样的两个界面就是视图层。

再对比一下这两张图,可以看到,当我们选择了商品之后,下面的总价也发生了变化,这就是我们通过view上的按钮来改变数据,controller从视图层接受了用户请求,读取数据的变化之后,委托给model进行处理,处理完毕后,又把返回的数据模型返回给视图,视图层又进行展示,下面的价格就由此发生了变化。

MVC作为一种设计模式在开发多种应用程序中都会被用到,小编后续也将为大家介绍更多设计模式。敬请期待~

文案:海琦

排版:彭帅

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609B1515J00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券