`

MVC设计模式的总结

    博客分类:
  • JAVA
 
阅读更多
 

 

随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越
来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。
其中‘层’是逻辑上的划分。
三层体系结构是将整个系统划分为如图2.1所示的结构[3]


(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。
该层用于向客户端用户提供GUI交互,它允许用户在显示系统中输入和编辑数据,同时
系统提供数据验证功能。
(2)业务逻辑层(Business layer):包含业务规则处理代码,即程序中与业务
相关专业算法、业务政策等等。该层用于执行业务流程和制订数据的业务规则。业务逻
辑层主要面向业务应用,为表示层提供业务服务。
(3)数据持久层(Persistence layer):包含数据处理代码和数据存储代码。数
据持久层主要包括数据存取服务,负责与数据库管理系统(如数据库)之间的通信。
三个层次的每一层在处理程序上有各自明确的任务,在功能实现上有清晰的区分,
各层与其余层分离,但各层之间存有通信接口。
采用三层软件设计架构后,软件系统在可扩展性和可复用性方面得到极大提高,在
资源分配策略设计合理运用的同时,软件的性能指标也得到提升,系统的安全性和易管东北
理性也得到改善。
三层体系结构对Web应用的软件架构产生很大影响,促进了基于组件的设计思想,
产生了许多开发Web层次框架的实现技术。较之两级结构来说,三层结构修改和维护上
更加方便。目前开发B/S结构的Web应用系统广泛采用这种三层体系结构。


设计模式起源:
1994 年,由 Erich Gamma,Richard Helm,Ralph Johnson 和 John Vlissides(即所谓的“四人帮’,GoF:Gang of Four)合作的以《设计模式:可复用的面向对象软件的基本原理》为题目的书藉出版了。这本书解释了模式的用处,同时也使得设计模式得到广泛普及。在书中,他们四人记录了他们长期工作中发现的经典 23 个设计模式。
IoC模式
IoC 模式是 Apach Avalon 项目创始人之一 Stefano Mazzocchi 提出的一种代码调用模式,后被 MartinFowlcr 改名为 Dependency Injection(依赖注入),也就是将类和类,方法和方法之间的关系通过第三方(如配置文件)进行“注入”,不需要类或者方法自己去解决彼此间的调用关系。 IoC(Inversion of Control, 控制反转), 是一种用来解决组件(也可以是简单的 Java类)之间依赖关系、配置及生命周期的设计模式,它可以解决模块间的耦合问题。IoC模式它是把组件之间的依赖关系提取(反转)出来,由容器来具体配置。这样,各个组件之间就不存在代码关联,解决了调用方与被调用方之间的关系问题,任何组件都可以最大程度的得到重用。

IoC 模式实现的技术途径
表 2.1 列举出了 IoC 的三种实现方式。本文中设计并实现的服务器端数据验证组件就是采用了第一种类型的 IoC 实现方式。


MVC模式 :
MVC 是 Model-View-Control 的简称,即模型-视图-控制器。它是一个存在于服务器
表达层的模型,它将应用分开,改变应用之间的高度耦合。
MVC 是在 20 世纪 80 年代发明的一种软件设计模式,至今已被广泛使用,最近几年
被推荐为 Sun 公司 J2EE 平台的设计模式。

MVC 模式结构
MVC 模式将应用分为模型、视图和控制器三个部分:
1. 视图:数据的展现。
视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
2. 模型:应用对象。
模型是应用程序的主体部分。 模型代表了业务数据和业务逻辑; 当数据发生改变时,它要负责通知视图部分;一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
3. 控制器:逻辑处理、控制实体数据在视图上展示、调用模型处理业务请求。
当 Web 用户单击 Web 页面中的提交按钮来发送 HTML 表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。

MVC 模式运行机制
如图 2.2 所示为 MVC 模式运行机制:

在 MVC 模式中,Web 用户向服务器提交的所有请求都由控制器接管。接受到请求之后,控制器负责决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。

框架
软件开发越来越倚重框架的使用。框架可以缩短应用软件系统的开发周期,提高软件生产效率和质量。大大简化了开发。选择何种框架、每个框架如何应用在在系统架构中是软件架构设计的重要环节。
框架的定义
在设计模式中,Gamma 等人为框架给出了一个明确定义:“框架(Framework)是一组协同工作的类,它们为特定类型的软件构筑了一个可重用的设计”。
框架是一组为相互协作的构件(Component)的集合,它能够处理一个或多个问题域(Domain)中的一系列问题。框架强调的是软件设计的重用性和系统的可扩充性。它是为了追求重用所带来的价值量最大化,而将被重用最多的部分封装成各个组件,辅以回调机制将它们纳入框架的控制范围之内。所以,框架提供了可在应用程序之间共享的可复用的公共结构。

框架的特性
框架包含以下几个关键特性:
1.在应用方面,框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;在目标方面,框架是可被应用开发者定制的应用骨架。
2.框架是一种软件,是应用程序的半成品。它可以供系统开发者选用,以完成系统的开发。
3.框架解决的是某个特定范围即领域的问题。每个框架都有自己的目标领域,它并不能满足所有人的所有需求。
分享到:
评论

相关推荐

    MVC设计模式例子程序

    总结来说,"MVC设计模式例子程序"是一个演示了如何在C#的Windows Forms环境下实现MVC模式的应用。通过模型、视图和控制器的分离,这个程序实现了业务逻辑、用户界面和数据管理的清晰划分,增强了代码的可读性和可...

    MVC设计模式学习总结.pdf

    MVC设计模式学习总结.pdf

    MVC设计模式详解

    **MVC设计模式详解** **一、什么是MVC设计模式** MVC,即Model-View-Controller(模型-视图-控制器)设计模式,是一种在软件工程中广泛应用于构建用户界面的架构模式。它将应用程序的数据处理、业务逻辑与用户界面...

    MVC设计模式范例

    总结来说,MVC设计模式是一种有效的软件设计策略,它有助于保持应用程序的结构清晰,提高代码复用,并简化了开发和维护过程。在本例子中,通过实现一个简单的球体计算应用,我们可以深入理解MVC模式的各个组成部分...

    mvc设计模式介绍与详细讲解

    ### MVC设计模式介绍与详细讲解 #### 一、MVC设计模式概述 MVC(Model-View-Controller)设计模式是一种广泛应用于软件工程中的架构模式,尤其在Web应用开发领域非常常见。它将应用程序分为三个核心组件:模型...

    mvc设计模式demo

    总结,MVC设计模式为软件开发提供了一种结构化的组织方式,尤其在Android应用开发中,通过合理的分工,可以有效地提高代码的可读性和可维护性。在实际的“聊天小程序”开发中,理解并正确运用MVC模式能够帮助我们...

    MVC设计模式

    **MVC设计模式详解** ...总结,MVC设计模式是一种有效的软件架构模式,它通过分离关注点提升了软件的可维护性和可扩展性。理解并熟练运用MVC模式,对于提升Web应用开发的质量和效率具有重要意义。

    MVC设计模式的简单例子

    总结来说,MVC设计模式是Web开发中的重要工具,它通过清晰的角色划分,使项目结构更清晰,开发和维护工作更加高效。在Tomcat这样的Servlet容器中,结合Servlet、JavaBean和JSP,可以构建出功能完善的MVC应用。通过...

    采用MVC设计模式的java聊天系统

    总结来说,这个Java聊天系统通过采用MVC设计模式,实现了高效、可维护的代码结构。从模型层处理业务逻辑,到视图层展示用户界面,再到控制器层协调两者,整个系统展现出清晰的层次和职责划分,为开发者提供了良好的...

    通过Java Swing看透MVC设计模式

    总结来说,MVC设计模式在Java Swing中的应用使得GUI组件设计更加灵活,降低了组件之间的耦合度,提高了代码的可维护性。开发者可以专注于模型的业务逻辑,视图的展示效果,以及控制器的交互逻辑,而不必关心它们之间...

    基于MVC设计模式开发出的简单PHP框架,学习必备

    总结,MVC设计模式在PHP开发中扮演着至关重要的角色,它通过分离关注点,使开发者能够专注于各自的领域,从而提高开发效率。通过深入研究和实践基于MVC的PHP框架,开发者可以不断提升自己的技能,应对各种复杂的Web...

    基于MVC设计模式的WEB应用框架研究

    总结而言,MVC设计模式是Web应用开发的重要工具,它通过分离关注点,使得开发更为高效和灵活。Struts是MVC模式的一种具体实现,虽然强大,但也存在挑战。WebFramework则是对Struts的一种改进,旨在解决其复杂性问题...

    MVC设计模式在客户端的应用.pdf

    ### MVC设计模式在客户端的应用详解 #### 一、引言 MVC(Model-View-Controller)设计模式是一种广泛应用于用户界面设计的经典架构模式。它将应用程序或其部分明确地划分为三个相互独立且功能清晰的组件:模型...

    javaweb之mvc设计模式的学生信息管理系统

    总结来说,"javaweb之mvc设计模式的学生信息管理系统"是一个典型的JavaWeb应用实例,它演示了如何利用MVC模式实现与数据库交互的用户管理系统,对于初学者理解Web开发中的MVC架构和数据库操作有着重要的学习价值。...

    java 简易计算器 mvc 设计模式

    **Java简易计算器基于MVC设计模式的实现** 在软件开发中,MVC(Model-View-Controller)设计模式是一种常用架构模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这个模式...

    关于设计模式MVC(Model View Controller)模型-视图-控制器

    总结,MVC模式通过分离关注点,提高了软件的可维护性和可扩展性,是现代软件开发中一个非常重要的设计模式,尤其是在Java和Web开发领域。它鼓励代码复用,降低了组件间的耦合,为构建复杂应用提供了强大的支持。

    银行管理系统 mvc设计模式

    总结起来,银行管理系统基于MVC设计模式,利用Java编程语言和MySQL数据库,实现高效、安全的银行业务处理。通过合理的模块划分和严格的安全控制,系统能够满足银行日常运营的需求,并具备良好的可扩展性和可维护性。

    JAVA数据库MVC设计模式

    总结来说,这个项目是一个使用Java GUI和JDBC的数据库应用,应用了MVC设计模式来组织代码结构,提供了用户登录和注册功能,以及对数据库的基本操作。通过这个项目,开发者可以深入理解Java GUI编程、JDBC数据库操作...

    基于 MVC 模式的博客(BLOG)系统的设计与实现

    MVC设计模式是一种常见的软件架构模式,主要用于简化复杂系统的开发和维护工作。该模式由三部分组成: 1. **模型(Model)**:负责存储和管理应用程序的数据和业务逻辑。模型层通常与数据库交互,处理数据查询、...

Global site tag (gtag.js) - Google Analytics