计算机 外文翻译 外文文献 英文文献及译文一种新的网络应用程序开发框架MVC

译文一:一种新的网络应用程序开发框架——MVC *摘要MVC(Model/View/Controller)的设计模式出现在在Smalltalk-80,并在软件的设计中广泛应用。本文介绍一种基于MVC框架的的新网络应用程序。这种框架把实施逻辑与表现形式独立开来。它也提高了系统的可维护性,可扩展性以及使用模块数据库备案、模板数据库,通讯对象和缓冲队列的性能。关键词:MVC、设计模式、网络应用程序1.简介网络应用系统是一个基于B(rowser)/ S(erver)模型应用系统。它利用多种动态网页开发技术。目前,软件设计的主题之一是网络应用开发模式和工具的。它们直接影响系统的几个关键因素,比如可维护性、可扩展性、稳定性和安全性。本文中,基于MVC[1]的网络应用程序的设计模式是为解决这两类因素——扩展性和可维护性这些不易处理的问题。把MVC设计模式引入网络应用程序开发,执行逻辑可以独立于系统的表现形式。MVC由三种对象组成。1)模型:是应用对象,2)视图:是它的屏幕的显示,3)控制器:定义用户界面并对输入的信息做出响应。在出现MVC之前,用户界面的设计倾向于把这些东西做在一起。然而,MVC独立了它们,增加系统的灵活性和可重用性。MVC把视图和模型独立开来,在它们之间建立了“subscribe/notify”协议。一个视图必须确保其正确反映模型的状态。每当模型的数据发生改变,视图会得到相应的通知。作为回应,每个视图都会有更新自身的机会。这个方法可以让你附上一个模型的多个视图以便提供不同的报告。你也可以不改变原模型同时创建新的视图。2.背景和存在的问题虽然MVC的设计模式已经在smalltalk-80中提出了,并广泛应用于软件设计,介绍它到网页应用程序开发却仍很困难的。主要由于以下两个因素:1)首先,很难独立来自HTML的编程语言。早期的CGI程序使用字符串输出创造了HTML内容。默认的,将HTML文本分成几份,然后把他们嵌入到CGI程序中。脚本语言出现后,变成了脚本语言* Luo Guangchun, the Ph.D. of UEST of China; Wang Yanhua, the Master of the UEST of China; Lu Xianliang, the professor of UEST of China, advisor of Ph.D.; Han Hong, the Ph.D. of UEST Of China编写的程序嵌入到HTML文本中。然而,这两种方法有一个共同的不足,使他们不能完全独立于HTML文本。因此,这两种方法使采用MVC分离三层模式十分难以实现。2)第二,脚本语言的功能太弱。他们缺乏一些必要的技术支持来采用MVC的设计模式,如消息机制和事件回应机制。直到JSP Model2版,这种情况并没有受到任何改善。依靠强大的Java语言功能,JSP Model2[4]某种程度上实行MVC设计理念。图 1显示了MVC的机制:•模型(数据层):它是封装到企业JavaBean。•视图(表示层):JSP负责的网页方式,如报告的格式,分页等。•控制器(控制层):Servlet受到网页上的用户的输入并执行有关的操作(呼叫相应的EJB组件),给出了相关视图,所以JSP会呈现这些结果。JSP Model2机制主要满足了开发商对要求 Web应用逻辑和用户界面独立的需求。但制仍然存在某些限,例如,尽管 JSP Model2已经实施采用 MVC设计模式的基本理念,三个层次之间的相互关系(Servlet,Java Bean/ EJB和 JSP)仍然封闭。特别是,就 Servlet当控制器,不仅控制选择同时响应模型的模块,还负责对处理 JSP转移数据提供模块。因为这一过程,Servlet 本身已实现非常复杂的执行逻辑,对于体系的发展和维护这是正是一个棘手的问题。因此,在下面的网络应用系统框架,我们会进一步划分出功能的控制器。3.解决方案图2中显示,这一系统框架包含三个内核控制对象/类(SYSController, Model Center, and LPM(Logical Page Module) Center)和它们的核心数据库(system description database, model database, and LPM database)。这三个控制对象/类根据原始的控制器划分。通过这些控制对象/类和数据库,下文将解释部分的设计思想和该系统框架的实现机制。首先,我们考虑SYSController和系统的描述数据库。他们负责接收用户的要求和根据这些请求搜索有关的执行逻辑。系统描述数据库可以是一个XML[2]文件或一套XML文件。这个数据库描述了不同的执行逻辑与不同的用户请求。执行逻辑主要包括互动模式、数据来源与异常处理等,这些组织在一个树形结构中。而SYSController可以搜索系统描述数据库。它结合了用户的要求和来自数据的执行逻辑,然后把它们交给传输器来封装。SYSController有两种方法搜索数据库。 其一是使用DOM对象(Document Object Model)[3]。当应用程序系统开机,这样需要DOM解析器分析整个数据库备案后载入内存。数据库将保留在内存中的DOM树结构。另一种是使用SAX(Simple API for XML)接口。两者有各自的优缺点。使用DOM可以实现结构搜索。它可以在大型数据库上使用,但是会暂用更多的系统资源。而SAX接口以高效率和更少的系统资源占用率著称。唯一的缺点是它获得信息比DOM难。其次,我们考虑模型中心和模型数据库。该层通过调用给定模块完成定义执行逻辑。模型数据库包括大量的对象和模块。这些对象和模块根据特定的执行逻辑封装响应方法。当模式中心接收到的执行消息,它根据封装在信息里的执行逻辑选择合适的对象或模块。然后按照给定的数据格式封装模块,冰传输给LPM中心。此外,每个对象或模块只需要关心如何实现给定的事务的逻辑以及如何获得必要的数据而不提交这些数据。最后,我们研究一下LPM中心和LPM数据库。LPM是实施描述的某一种数据类型的项目集合,它可以当成是一个或一组磁盘文件。在另一方面,有一个网页可有一个逻辑页或多条逻辑页。一个LPM的功能是很简单的:它只需要在没有被得到执行逻辑和原数据内容的情况下给定数据类型。因此事实上,LPM是作为标签库(JSP)或数据捆绑(.net)而开发的。此外,这种类型的服务器脚本可以很容易由客户开发人员在UI(user interface)设计阶段理解,what-you-see-is-what-you-get(所见即所得)工具也很容易开发。在这部分,LPM中心从模型中心收到数据。它根据给定数据类型和执行逻辑选择适当的逻辑页模块,然后封装逻辑页的输出模块到HTTP响应并将发布到客户端。注意到这3个控制对象,除了SYSController,另外两个不是直接进入自己的核心数据库。例如,模式中心不直接从模型数据库调用对象或模块。它实现了通过ModelFactory的存取。 (过程见图2)通过分析系统框架,可以看出整个系统完全符合MVC设计模式。在在系统的开发时期各部分的开发者三者冰不具有相互的干涉。当系统

计算机新应用外文翻译,计算机 外文翻译 外文文献 英文文献及译文一种新的网络应用程序开发框架MVC...相关推荐

  1. 大学计算机专业全英文论文,5计算机专业 外文文献 英文文献 外文翻译 jsp应用框架 中英对照 大学学位论文.doc...

    5计算机专业 外文文献 英文文献 外文翻译 jsp应用框架 中英对照 大学学位论文 外文JSP application frameworks brian wright.michael freedman ...

  2. 计算机jsp外文文献,计算机 JSP web 外文翻译 外文文献 英文文献

    计算机 JSP web 外文翻译 外文文献 英文文献 外文资料 所译外文资料: ①作者:Dan Malks ②书名:Professional JSP ③出版时间: 2000.7.26 ④所译章节: C ...

  3. matlab图像识别英文文献,matlab图像处理-外文翻译-外文文献-英文文献-基于视觉的矿井救援...

    <matlab图像处理-外文翻译-外文文献-英文文献-基于视觉的矿井救援>由会员分享,可在线阅读,更多相关<matlab图像处理-外文翻译-外文文献-英文文献-基于视觉的矿井救援(1 ...

  4. matlab中的routte,matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述...

    <matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述>由会员分享,可在线阅读,更多相关<matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算 ...

  5. matlab仿真的英文文献,matlab 外文翻译 外文文献 英文文献 MATALAB 混合仿真平台控制算法的概述...

    matlab 外文翻译 外文文献 英文文献 MATALAB 混合仿真平台控制算法的概述 MATALAB 混合仿真平台控制算法的概述 MATALB 混合仿真平台,即为将硬件引入到仿真回路里的半实物仿真系 ...

  6. 计算机视觉 英文论文,数字图像处理 外文翻译 外文文献 英文文献 数字图像处理方法研究.doc...

    数字图像处理 外文翻译 外文文献 英文文献 数字图像处理方法研究 PAGE PAGE 10 The research of digital image processing technique 1 I ...

  7. 相关计算机专业的英语文献,英文文献及翻译计算机专业.doc

    英文文献及翻译计算机专业 外文资料翻译-英文原文 NET-BASED TASK MANAGEMENT SYSTEM Hector Garcia-Molina, Jeffrey D. Ullman, J ...

  8. 计算机jsp外文文献,计算机 JSP web 外文翻译 外文文献 英文文献.doc

    PAGE PAGE 9 外文资料 所译外文资料: = 1 \* GB3 ① 作者:Dan Malks = 2 \* GB3 ② 书名:Professional JSP = 3 \* GB3 ③ 出版时 ...

  9. 计算机jsp外文文献,计算机JSPweb外文翻译外文文献英文文献-20210615222802.docx-原创力文档...

    PAGE PAGE 10 外文资料 所译外文资料: ① 作者: Dan Malks ② 书名: Professional JSP ③ 出版时间 : 2000.7.26 ④ 所译章节 : Chapter ...

最新文章

  1. window linux IPC ftok BY_HANDLE_FILE_INFORMATION
  2. 【莫队/树上莫队/回滚莫队】原理详解及例题:小B的询问(普通莫队),Count on a tree II(树上莫队),kangaroos(回滚莫队)
  3. Java网络编程 — Netty入门
  4. 接口500什么原因_80%小餐饮店几乎都“活“不过500天,为什么?都在这5个原因里...
  5. 链表合并面试100题系列之18链表合并
  6. java基础入门之数组循环初始化
  7. PowerShell中远程管理简单配置
  8. OPNsense19.1.9语言包更新文件
  9. php获取远程数据,教你如何用php实现LOL数据远程获取
  10. zoom怎么解除静音_Zoom参会者入会后的注意事项
  11. 解决System进程占用80端口,关闭IIS服务
  12. ibms智能化系统集成服务器,智能化集成管理系统(IBMS)
  13. 12/14 计算器雏形
  14. 软件工程改错题例题:请将下面的非结构化程序改成结构化程序
  15. elasticsearch下载太慢在国内, 我把包放到了云盘上,还有kibana,logstash.有需要自取,持续更新版本
  16. 神经网络基础与顺序神经网络的构建
  17. mt4支持python么_py-mt4
  18. 【湍流】基于matlab模拟拉盖尔高斯光束传播的光强
  19. 二分法例题:聪明的质检员(运用了前缀和思想)
  20. 不动产登记中心计算机岗位,武汉市不动产登记中心属事业单位2019年招聘人员岗位一览表...

热门文章

  1. linux搭建LVS+keepalive+nginx实现集群高性能负载均衡配置详解
  2. 快速梳理思路的五个步骤
  3. 苹果6s解除耳机模式_三星,苹果最好的损友!从3GS损到iPhone 12从不留情|三星|iphone|手机|新iphone...
  4. Python登录注册页面(用字符串,组合数据类型,程序三种基本结构)
  5. 股指期权最新消息 股指期权怎么交易?
  6. Golang 高质量单测之 Table-Driven:从入门到真香
  7. linux icon图标大小,适用于Linux的5款最佳桌面图标集
  8. 无线网络工程建设、升级及维护要注意什么——TFN-100A系列天馈线频谱测试仪
  9. 【Labplus 3】Scratch时钟表盘角度解析
  10. java实验报告——雇员类