英朗翻译官应用软件 毕业设计论文.doc

上传人:小小飞 文档编号:3966140 上传时间:2019-10-11 格式:DOC 页数:84 大小:2.52MB
返回 下载 相关 举报
英朗翻译官应用软件 毕业设计论文.doc_第1页
第1页 / 共84页
英朗翻译官应用软件 毕业设计论文.doc_第2页
第2页 / 共84页
英朗翻译官应用软件 毕业设计论文.doc_第3页
第3页 / 共84页
英朗翻译官应用软件 毕业设计论文.doc_第4页
第4页 / 共84页
英朗翻译官应用软件 毕业设计论文.doc_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《英朗翻译官应用软件 毕业设计论文.doc》由会员分享,可在线阅读,更多相关《英朗翻译官应用软件 毕业设计论文.doc(84页珍藏版)》请在三一文库上搜索。

1、英朗翻译官应用软件 摘要:摘要: 全球化的影响,英语自然而然的普及,经济文化正在趋于一体化,与国际的交 流就不可避免的涉及到英语的听说读写。为了给广大用户提供一个更好的英语学习 工具,特此制作这款集在线翻译,离线翻译于一体的,并带有朗读功能的翻译软件。 该软件界面简洁,操作简单,是一款较人性化的软件! 你会写单词吗?不用担心,我们的翻译官会帮你查到你想要的单词,无论是英 语还是汉语,我们都可以帮你查到;你会说英语吗?不用担心,我们的翻译官会说 给你听,你可以边听边说;你会读英语吗?不用担心,我们的翻译官会给你提供音 标提示,告诉你该怎么读! 本软件是采用 J2ME 作为前台的开发语言,以当前流

2、行的服务提供商提供的开 源 API 作为后台,基于 C/S 模式并采用 MVC 框架实现开发的。旨在帮助那些需要 获取生词信息的各类人群,获取单词的发音,解释,句意,并对获取的单词信息, 以友好的界面展示给用户。也可以保存单词信息,便于以后随时查看! 关键字关键字:RMS,C/S,KXmlParser,解析 XML,J2ME,C/S,MIDP,MVC 框架 EnglishEnglish translationtranslation softwaresoftware applicationsapplications Abstract:Abstract: The impact of globali

3、zation, english of course, economic, cultural is to integration with the international exchange will inevitably involve english write. in order to give the user provided a better english learning tools, we make this set of online translation and interpretation of line with the reading of the transla

4、tion software. the interface simple and easy operation, is a more humanized software! You will write the word? dont worry about it. our translation officers will help you find you like your words, either english or chinese, we can help you find ; you speak english? dont worry about it. our translati

5、on officers will speak to you, you can listen to the ; can you read english? dont worry about it. our translation office will provide you with accents, and tell you how to read! This software is used as the development of language j2me to the current popular service providers offer is open source as

6、 the api, based on the c s mode and the mvc framework for development. to help those who need to obtain information of the word for word, the pronunciation, word, and to obtain the information by his friendly words, the interface displayed to the user. you can save words, look for information after

7、all! The keyword : RMS,C/S,KXmlParser,ResolveXML,J2ME,C/S,MIDP,MVC Framework 目目 录录 1 1 绪论绪论 .1 2 2 J2ME 技术概览技术概览.1 21 J2ME 的概念1 22 J2ME 简介.1 22.1 J2ME 架构 2 2.2.2 JVM 虚拟机 3 2.2.3 MIDP(移动信息设备简表) .3 23J2ME 的发展及未来 4 2.3.1 J2ME 发展现状 4 2.3.2 J2ME 未来情景发展方向 .8 2.3.3 MVC 框架 9 24J2ME API 简介.11 3 3 软件设计软件设计 .2

8、0 3.1 软件简介 20 3.2 软件的总体结构设计21 3.3需求分析 .21 3.4框架设计 .21 3.5详细设计 .23 3.5.1 COM.LDCI.MIDLET包中类的伪代码23 3.5.2 COM.LDCI.COMMON包中的类描述.24 3.5.2.1 Const 类的伪代码24 3.5.2.2 Text 类的伪代码24 3.5.2.3 Tools 类的伪代码24 3.5.3 COM.LDCI.VIEW包中的类描述 .24 3.5.3.1 AboutView 类的伪代码.24 3.5.3.2 ExitView 类的伪代码25 3.5.3.3 HelpView 类的伪代码.25

9、 3.5.3.4 Logo 类的伪代码.25 3.5.3.5 MenuView 类的伪代码 .26 3.5.3.6 ShowTranslationView 类的伪代码 .26 3.5.3.7 TranslatorView 类的伪代码27 3.5.3.8 StrangeWordsView 类的伪代码27 3.5.4 COM.LDCI.MODEL包中的类描述28 3.5.4.1 RmsService 类的伪代码28 3.5.4.2 Trans 类的伪代码.29 3.5.4.3 TranslationService 类的伪代码.30 3.5.5COM.LDCI.CONTROLLER包中的类描述30

10、3.5.5.1 Event 类的伪代码30 3.5.5.2 GUIController 类的伪代码31 3.5.6 COM.LDCI.NETWOK包中类的伪代码31 3.5.6.1 HttpConnect 类的伪代码.31 3.5.6.2ReceiverListener 类的伪代码.32 3.5.7COM.LDCI.XMLPARSER包中的类描述32 3.5.7.1TranslatorXmlParser 类的伪代码.32 4 4主要模块设计主要模块设计 .33 5 5项目截图展示项目截图展示 .72 6 6所遇到的困难及其解决方案所遇到的困难及其解决方案 .75 6.1 困难分析 75 6.1

11、 困难分析解决方案 76 7 7结论结论 .80 致谢致谢 .80 参考文献参考文献 .80 - 1 - 1 1 绪论绪论 手机是人们日常生活中所用的非常频繁的通信工具,虽然现在其费用比有 线电话高,但是其随时随地的沟通优势,使人们摆脱了线路的束缚。目前中国 的一些大城市几乎人手一部或几部手机,正是由于手机的高普及率,使得无线 移动商务才得以迅速普及和发展。 JAVA 技术已经从一种最初用来编写与硬件无关的嵌入式系统的编程语言 变成了一种与厂商无关、与硬件无关的健壮的服务器端技术,它使整个企业界 可以全面发掘以 Web 为核心的应用程序的巨大潜力。随着 JAVA 技术的不断更 新提高,J2ME

12、 技术的出现,使得手机游戏越来越成为我们关注的焦点。J2ME 技术目前最流行的就是在制作手机游戏方面,JAVA 手机的出现使得这一技术 更有它的用武之地,发挥着他灵活、轻便、快捷的作用。 下面在本篇文章中就将详细的介绍 J2ME 这一技术在应用软件和手机游戏 制作方面的具体过程以及其重要的作用。 2 2 J2ME 技术概览技术概览 21 J2ME 的概念的概念 J2ME 的全称是 Java2 Micro Edition (J2ME)Java2 技术微型版,与 J2SE、J2EE 一样都是有美国 SUN 微系统公司提出的 JAVA 技术规范。 2 22 2 J2MEJ2ME 简介简介 J2ME

13、是为了能够开发运行在小型设备、独立设备、互联移动设备、嵌入 式设备上的 JAVA 应用程序而被提出的。J2ME 是建立在一个由概要描述、配 置、JAVA 虚拟机和操作系统等部分组成的标准架构之上的,这些内容共同组 成了完整的 J2ME 实时运行环境。它的技术核心是由一个 JAVA 虚拟机( JVM )及一套适合运行在上述设备环境上的 API 接口构成。 J2ME 在 1999 年的 JavaOne 开发人员大会上初次亮相,它的目标是面向智 能无线设备和小型计算设备的开发人员,这些开发人员需要在他们的产品中整 - 2 - 合跨平台的能力。 无线设备和小型计算设备的消费者期望这些设备能够有较高的性

14、能。他们 希望小型计算设备有快速的响应时间,与同种设备相兼容,拥有功能完备的应 用程序。消费者希望桌面计算机和笔记本电脑上的软件和功能同样能够运行在 移动电话和个人数字助理上。 为了满足他们的需求,开发人员必须重新考虑他们设计计算机系统的方式。 开发人员需要利用商业计算机上现有的前端和后端软件的计算能力,并将这些 能力传递到微型、移动和无线的计算设备上。J2ME 能够以最小的修改来实现 这种传递,如果应用程序的设计是可伸缩的,应用程序就可以适应小型计算设 备上有限的资源。 J2ME 为在小型电子设备上创建性能卓越的网络应用提供了一套完整的解 决方方案,能很好的解决软件跨平台的兼容性和安全性的问

15、题。 22.1 J2ME 架构 J2ME 架构的模块化设计使应用程序可以灵活适应小型计算设备的限制。 J2ME 架构没有替代小型计算设备的操作系统。相反,J2ME 架构由位于原生操 作系统之上的多层软件组成,这些软件共同称为“连接有限设备配置” (Connected Limited Device Configuration, CLDC) 。安装在操作系统之上的 CLDC 形成了小型计算设备的运行时环境。 J2ME 架构由 3 个软件层组成:第一层是包括在内的配置层,这个层次直接 与原生操作系统进行交互。配置层还处理 profile 和 JVM 之间的交互。第二层 是 profile 层,由小型

16、计算设备的应用程序编程接口(API)的最小集合组成。 第三层是 Mobile Information Device Profile( MIDP )层。MIDP 层由用户网络连 接、永久存储和用户界面的 java API 组成。它还能够访问 CLDC 库和 MIDP 库。 - 3 - 2.2.2 JVM 虚拟机 JVM 是专门为微型电子设备与资源受限设备如:手机、寻呼机、移动互联 网设备、家用微电子设备等设计的一种轻便、紧凑的 JAVA 虚拟机。 JVM 可以为微型电子设备提供一个完整的 JAVA 运行环境,除了一些微型 设备所必需的适当的功能有所不同外,它是由 JAVA 虚拟机规范定义的真实的

17、 JAVA 虚拟机。它是专门为那些受资源限制,只有几百 K 字节内存的微型设备 设计的。 JVM 起初是由 SUN 微系统实验室为一个名叫“Spotless”的项目创建的。 它的目标是为资源受限制的 Palm(是目前较为流行的掌上电脑操作系统)可连 接的电子设备,实现一个 java 虚拟机。 基于上述原因,JVM 具有以下几个特点: (1)小,仅具有 40KB 至 80KB 的静态内存。 (2)轻便、精巧。 (3)模块化并可定制。 (4)尽可能完全紧凑的完成设计目的。 2.2.3 MIDP(移动信息设备简表) MIDP 是专门为互联受限设备配置设计的,它为移动设备提供了一套 API 集合,MI

18、DP 包含用户界面类、持久存储功能与网络功能。它同时也包括一个 供用户下载新应用到终端设备的标准运行环境。运行在 MIDP 下的小应用程序 叫做 MIDlet 移动设备小应用程序,它与 Applet 类似。MIDP 要求平台设备提供 一个机制用来存储简单的数据记录,通过正常的平台事件,比如重新启动和电 池更新维护系统的完整性。 MIDP 是以 SUN、Motorola、Nokia 为中心的 MIDPEG 组织(Mobile Information Profile Expert Group)所制订出来使用在 CLDC 上的 Profile,是以能 使用在移动电话、双向对讲机、可无线通信的 PDA

19、(个人数字助理)上面为前 提设计出来的。另外,像日本国内的 NTT DoCoMo、J-PHONE、KDDI 等电信 商与移动电话制造商也都曾参与了 MIDPEG。 MIDP 是在 CLDC的功能上附加提供适合目标设备用的 GUI 与事件处理 - 4 - 功能。这样一来,就可以当成 MIDP 应用程序(MIDlet)来运行了。 MIDP 由于是由多个企业所共同策划出来的开放标准,因此主要的移动电 话制造商也会制造出大量的对应机种。也就是说,以 MIDP 为基准所制作出来 的应用程序,也将可以在流通于市面上的移动电话上执行。 另外,MIDP 不仅限于移动电话,也已经被移植到 PDA Palm OS

20、 上,而以 MIDP for Palm OS 的名字来称呼(与 KJava 是不同的) 。在不使用各电信商的扩 展 API 的时候,制作给移动电话用的 MIDlet 也将可以使用在 Palm OS 上面。 由于未来 MIDP 也将会搭载到不同设备之上,也由于其兼容性高,只要写过一 次程序,就可以在其他移动电话或是移动电话以外的设备上执行;而这也就是 它最大的好处。 2 23 3J2MEJ2ME 的发展及未来的发展及未来 2.3.1 J2ME 发展现状 当 JAVA 平台发展到 JAVA 2 的版本以后,为了适应不同级别计算机硬件的开 发需要,JAVA 平台形成了三个主要分支: Java 2,

21、Standard Edition(J2SE):是为台式机而设计的,主要运行在 Linux, Solaris, 或 Microsoft Windows 等操作系统上。 Java 2, Enterprise Edition (J2EE):则是一个适合分布式的、多用户、企业级应 用系统运转的平台。它以 J2SE 为基础,增加了处理服务器端计算的功能。 Java 2, Micro Edition (J2ME):和 J2SE 不同,它既不算是一个软件也不能算是一 则规范。准确地说,J2ME 是为了支持象 PDA、手机等小型的嵌入式或移动设 备而推出的一系列的技术和规范的总称。它借用了 J2SE 类库的一

22、部分,使用了 更少的 API,而且其 J2ME 采用的 JAVA 虚拟机(JVM)比 J2SE 的 JVM 也要 小得多。 - 5 - 应该注意到,J2ME 要支持的硬件平台也有很大差异,其中有比较高端的设备, 例如电视机的机顶盒、网络电视等;也有比较低端的,象手机、寻呼机等。因 此为了满足不同硬件的开发要求,J2ME 规定了 configuration 的概念, Configuration 对不同级别的硬件在所使用的 JVM 和基础 API 集合方面做了规定。 于是,对于高端的设备,采用 CDC(Connected Device Configuration) ,所使用 的 JVM 称为 CV

23、M;对于低端设备,则采用 CLDC(Connected Limited Device Configuration) ,所用的 JVM 为 KVM(参见图 1) 。 CDC 和 CLDC 仅仅是对各类设备中最具共性的配置提供了基本的功能集合。 但是,实际应用中,不同的设备之前存在着很大的差异。因此,我们在 Configuration 的基础上,又提出了 Profile 的概念。Profile 规定的内容,是针对 某一类设备所制订的规范和 API,有了 Profile 以后,才真正有了可以建立一个 可运行 J2ME 应用程序的完整环境。移动信息设备 Profile(Mobile Informati

24、on Device Profile 或 MIDP)以 CLDC 为基础,它是第一个制订完成 Profile,也是 第一个可供使用的 J2ME 应用程序运行环境。本文中的内容也将主要围绕 MIDP 来展开。 目前,支持 MIDP,可以运行 J2ME 程序的设备已经有很多,手机包括 Motorola 的 A388、T720,Nokia 6800、7210 等等(详细列表请参见 http:/ 。截止到 2003 年 2 月,已经有 21 个生产厂 家推出了 100 多种支持 JAVA 的手持设备。根据 ARC Group2002 年六月的无 线 JAVA 报告 , “到 2007 年, 几乎所有的手

25、持设备都将提供对 JAVA 的支持”, 看来 J2ME 在未来的几年里仍然将持续升温。 J2ME 能为开发者和用户提供什么功能? 如前所述,MIDP 出现最早,也发展最快,在此我们也仅讨论 J2ME MIDP 应用程序的开发。2002 年 10 月,JCP(Java Community Process,参见 - 6 - http:/www.jcp.org)推出了 MIDP2.0 的规范,和 MIDP1.0 相比,它大大加强了 对用户界面、多媒体和游戏功能、网络连接功能的支持,同时将 OTA 应用程序 下载包括到规范中来,另外还为无线信息设备提供了端到端(end-to-end)的安 全机制。 为

26、了支持对声音的处理(例如播放 WAV 文件) ,MIDP2.0 中增加了一个可选包 ABB(Audio Building Block) 。在以前,ABB 只包含在 Mobile Media API(MMAPI)中,现在将其纳入到 MIDP 中来,开发者就可以不用依赖于 MMAPI 了。当然,如果使用了 MMAPI,可以为移动设备开发更多的功能,比 如可以在 PDA 上播放视频流等等。 对 J2ME 游戏开发的支持可能是开发者和用户都企盼已久的,MIDP2.0 提供的 游戏 API 使得游戏本身可以更充分的利用设备自身的图形处理功能。它的出现 无疑大大简化了 J2ME 游戏的开发工作,同时也使得

27、开发者可以更多地控制程 序的图形处理性能。 在通信方面,MIDP1.0 仅支持 HTTP,MIDP2.0 则增加了对 HTTPS、报文、 socket 通信以及串口通信的支持。另外,MIDP2.0 还支持服务器 Push 体系架构, 这样,你的手机能够收到来自服务器的报警、消息或者广播,根据要求启动手 机上的应用程序进行操作。 支持 Over-the-air (OTA) Provisioning 是 MIDP2.0 的一个重要的新特点,它使得 用户能够动态地部署和更新移动设备上的应用程序。新版的 MIDP 规范中规定 了如何在移动设备上发现、安装、更新和删除 MIDlet 套件;同时,提供应用

28、程 序下载的服务提供商还能够判断该 MIDlet 套件是否能够运行在申请下载的设备 上,并且从设备上获取安装、更新和删除的信息。MIDP OTA provisioning 模型 为移动服务提供商提供了单一、标准的部署 MIDP 应用程序的途径。该模型已 经被众多技术领先的移动设备制造商和服务提供商所采纳。 自从人类步入网络时代以后,网络安全始终是很一个关键的问题。MIDP2.0 增 加了强大的“端到端”的安全模型。一方面,MIDP2.0 支持 HTTPS,可以对传输 的数据进行加密;另一方面,MIDP2.0 采用了和 MIDP1.0 不同的安全机制,采 用安全域来确保未经授权的 MIDlet

29、套件无法访问受权限控制的数据、应用程序 以及其他网络和设备资源。 随着新的规范的推出,Sun、Motorola、Nokia、Borland 等都推出了各自的 J2ME 的开发工具和集成开发环境(IDE) ,并受到了开发者的广泛好评。据统 计,到 2003 年 1 月下载 J2ME 无线应用开发工具(即 J2ME Wireless Toolkit, 参见 http:/ 515000。与 之而来的是 J2ME 开发队伍的不断壮大,目前全球 J2ME 开发人员的总数已经 超过了二百万。图 2 是一个典型的支持 J2ME 应用程序开发的 IDE,开发者可 以完成编码、调试、部署并借助移动设备的模拟器完

30、成功能测试。 J2ME 有竞争对手吗? 当然有。就象 J2EE 有来自.NET 的竞争一样,J2ME 有 BREW(无线二进制运行环境) 。 - 7 - 很可能 BREW 真正开始聚集中国人眼球的时候是在 2002 年 12 月 4 日, 中国联通和 CDMA 数字无线技术的先驱及全球领导厂商 Qualcomm 宣布,双方已签署成立合资公司的 合同,以促进 BREW 平台在中国的发展,并扶植壮大中国 BREW 开发商群体。除了中国 联通,美国 Verizon、ALLTEL,韩国的 KTF 以及日本的 KDDI 已经推出了 BREW 的商业 服务,而且全球越来越多的运营商正不断加入他们的行列。

31、BREW 平台是一个瘦应用运行环境,为无线设备提供了一个开放、标准的平台。BREW 平台是全面的、端到端的无线应用开发、设备配置、应用分发、计费和支付解决方案的一 部分。关于 BREW 更详细的信息,你可以访问 http:/ 那么,BREW 是否对 J2ME 带来威胁呢?统计表明,如今全世界可以支持 J2ME 的手持 设备如今已经达到了七千五百万,有 34 个运营商在使用 J2ME 技术;相比之下,BREW 可 是小巫见大巫,目前可以运行 BREW 的设备只有四百六十万,6 个 CDMA 的运营商在提 供服务。而且,在 2003 年 3 月,Qualcomm 宣布将在其 CDMA 的芯片中提供

32、对 J2ME 的 支持,其实现主要基于 MIDP 2.0 和 CLDC1.0.4。这个举措无疑印证了 J2ME 是技术领先的 开发和部署无线数据服务的解决方案。由于 Qualcomm 几乎占领了 90%的 CDMA 芯片市场 份额,所以这也将加速 J2ME 向 CDMA 领域的渗透。当然,Qualcomm 并未准备放弃 BREW,因此在将来很有可能出现 J2ME 和 BREW 共存在同一个移动设备上,各自发挥自 己的特长,而受益最大的,是移动设备应用程序的开发者和最终用户。 J2ME 有没有不足之处? 有。如果你是一个 J2ME 的开发人员,或许曾经遇到过这样的情况:一个已经开发好的可 以在

33、Motorola A388 上跑的程序在另一个品牌的手机上却不能正常运行,必须经过部分代 码的修改才能使用。这种情况的出现,显然违背了 Java 平台的“编写一次,到处运行”的初 衷。到底是什么原因呢?这是因为 JCP 在制订 CLDC 和 MIDP 等规范的时候,为了使其能 够适用于众多制造商的产品,做了比较宽泛的规定。因此,当制造商在完成自己的实现的 时候,常常会在规范允许的范围内,渗入某些自己开发的功能扩展,那么,当开发者调用 这些功能的时候,往往必须针对这些扩展加入部分源代码,从而导致了开发出来的 J2ME 应用程序的不兼容性。 在这种情况下,越来越多的移动设备制造商和开发者意识到,需

34、要建立一个标准来保证 J2ME 应用程序的跨平台性。 无线领域的 JAVA 技术规范 (Java Technology for the Wireless Industry 即 JTWI,JSR185)正是为了完成这个使命而出现的。来自 Motorola,、Nokia、Sony 和 Sun 等公司的技术专家于 2002 年底开始了该规范的制订,并将 于 2003 年中期正式推出。JTWI 并没有定义新的 API,而是为已有的 J2ME 规范(例如 CLDC、MIDP、MMAPI 等)创建了新的手持设备的 Profile,使它们能有效地集成在一起, 为在手机以及其他移动设备上实现“端到端的解决方案

35、”提供一个完整的 JAVA 运行环境。 图 3 为 JSR185 中规定的在手机软件堆栈中各个组件的关系示意图。 - 8 - 举例来说,如果开发人员需要在 J2ME 程序里调用手机的短信(SMS)功能,则往往需要 使用该手机提供的专有的 API。实际上,如今标准的做法应该是调用手机实现的 Wireless Messaging API(WMA) 。那么在 JTWI 中,将会推荐开发人员使用 WMA,而不是专有的 API。 毫无疑问,JTWI 的推出,将督促各个制造商为开发者和用户提供标准化的 CLDC 和 MIDP 实现,以克服目前 J2ME 应用程序的不足,会进一步加强它们的可用性,从而促进

36、其更大程度地在用户中的普及。 2.3.2 J2ME 未来情景发展方向 现在的 j2me 主要有两个方向: 一是手机游戏,我曾经在我们学校的软件大赛中参与一个手机游戏的编写。首先单机手机 游戏没有太大的前景,中国的盗版如此猖獗,想在这块竞争激烈的游戏领域中占有一席之 地不是一件容易的事情。比较有前途的是网络版的手机游戏,个人觉得有一定的市场前景, 但是受现在硬件设施和网络服务商的限制,没有比较自由的空间。Java 手机大多在年轻人 的口袋里,而且他们愿意为游戏娱乐付费。他们多是一群追逐流行,信奉时尚的人,如何 将一个游戏打造成一种时尚,我想这其中不仅有设计的问题还要有营销的一些深层问题必 须在考

37、虑之列,这一点我将会在这一段时间进行思考。 二是移动商务,技术永远是手段,应用才是核心与灵魂。我看好移动商务,感觉空间很大, 最主要的是能用一种超前的眼光看到未来的商机所在。很多时候重要的不是技术而是智慧、 - 9 - 洞察力和勇气。很多文科毕业的在技术领域反而能有很大的成功,不能不引起我们这些原 汁原味泡在技术领域的人的反思,大多时候我们被囚固在技术的迷局之中而难以脱身,这 恰恰限制了我们自身的发展。不是最先进的技术在占领市场,而是最好的应用,最好的角 度在占领市场。我在想我们的生活最需要的是什么,什么才是我们的终极追求? 2.3.3 MVC 框架 MVC (Modal View Contr

38、oler)本来是存在于 Desktop 程序中的,M 是指数据模型,V 是指用户界面,C 则是控制器。使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同 一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。 C 存在的目的则是确保 M 和 V 的同步,一旦 M 改变,V 应该同步更新。 模型视图控制器(MVC)是 Xerox PARC 在八十年代为编程语言 Smalltalk80 发 明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为 Sun 公司 J2EE 平台的设 计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎

39、。模型视图 控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 MVC 如何工作? MVC 是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用 MVC 应用 程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 视图 视图是用户看到并与之交互的界面。对老式的 Web 应用程序来说,视图就是由 HTML 元 素组成的界面,在新式的 Web 应用程序中,HTML 依旧在视图中扮演着重要的角色,但 一些新的技术已层出不穷,它们包括 Macromedia Flash 和象 XHTML,XML/XSL,WML 等一些标识语言和 Web services. 如何处理

40、应用程序的界面变得越来越有挑战性。MVC 一个大的好处是它能为你的应用程序 处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还 是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 模型 模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务。例如 它可能用象 EJBs 和 ColdFusion Components 这样的构件对象来处理数据库。被模型返 回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。 由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器 控制

41、器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 Web 页面中的 超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求 并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。 - 10 - 现在我们总结 MVC 的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型 来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视 图格式化模型返回的数据,并通过表示层呈现给用户。 为什么要使用 MVC 大部分 Web 应用程序都是用像 ASP,PHP,或者 CFML 这样的过程化语言来创建的。它 们将像

42、数据库查询语句这样的数据层代码和像 HTML 这样的表示层代码混在一起。经验比 较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的 计划和不断的尝试。MVC 从根本上强制性的将它们分开。尽管构造 MVC 应用程序需要一 些额外的工作,但是它给我们带来的好处是无庸质疑的。 首先,最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多 的方式来访问你的应用程序。对此,其中一个解决之道是使用 MVC,无论你的用户想要 Flash 界面或是 WAP 界面;用一个模型就能处理它们。由于你已经将数据和业务规则从 表示层分开,所以你可以最大化的重用你的代码了。

43、由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数 据可能用 HTML 来表示,但是它们也有可能要用 Macromedia Flash 和 WAP 来表示。 模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也 能被 Flash 网站或者无线联网的应用程序所重用。 因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据 层和业务规则。如果你想把你的数据库从 MySQL 移植到 Oracle,或者改变你的基于 RDBMS 数据源到 LDAP,只需改变你的模型即可。一旦你正确的实现了模型,不管你的 数据来自数据库或是 L

44、DAP 服务器,视图将会正确的显示它们。由于运用 MVC 的应用程 序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能 构造良好的松偶合的构件。 对我来说,控制器的也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去 完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的 模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显 示给用户。 MVC 的缺点 MVC 的缺点是由于它没有明确的定义,所以完全理解 MVC 并不是很容易。使用 MVC 需 要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考

45、。 你将不得不花费相当可观的时间去考虑如何将 MVC 运用到你的应用程序,同时由于模型 和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都 需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。 根据我个人理解,由于我们将一个应用程序分成了三个部件,所以使用 MVC 同时也意味 - 11 - 着你将要管理比以前更多的文件,这一点是显而易见的。这样好像我们的工作量增加了, 但是请记住这比起它所能带给我们的好处是不值一提。 MVC 并不适合小型甚至中等规模的应用程序,花费大量时间将 MVC 应用到规模并不是很 大的应用程序通常会得不偿失。 MVC 是

46、一条创建软件的好途径 MVC 设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离 可能比较好理解。但是如果你要隔离模型、视图和控制器的构件,你可能需要重新思考你 的应用程序,尤其是应用程序的构架方面。如果你肯接受 MVC,并且有能力应付它所带来 的额外的工作和复杂性,MVC 将会使你的软件在健壮性,代码重用和结构方面上一个新的 台阶。 2 24 4J2MEJ2ME APIAPI 简介简介 2.4.1 MIDP API 概述 MIDP API 包含以下五个部分,如表 2-1 所示: 表 2-1 MIDP API 类 别描 述 Application包括 MIDlet 类。

47、 Timers主要包括 Timers 和 Timers Task 类。 Networking提供访问设备通信能力的接口。 Persistence通过记录管理系统(RMS)API 访问用户永久存储。 User Interface包括 MIDP LCDUI(液晶显示器用户界面)类。 2.4.2 MIDlet 应用程序 MIDlet 即 MIDP 的应用程序, MIDlet 应用程序的核心是 MIDlet 类。为了 创建一个 MIDlet,必须从这个虚基类派生出自己的类。表 2-2 提供了从 MIDlet 类继承的方法。 表 2-2 MIDlet 类 方 法描 述 访问 JAR 和 JAD 文件中的

48、属 性 String gerAppProperty(string 返回 JAR 和 JAD 中与 key 相对应的属性的值。 - 12 - key) Abstract void destoryApp (boolean unconditinal) 应用程序管理器在应用程序关闭前,调用这个方法来给我 们做一些事情的机会(例如保存状态和释放资源) 。 Abstract void pauseApp()在用户暂停游戏时,应用程序管理器调用 MIDlet 的类方 法。 Abstract void startApp()应用程序管理器调用 MIDlet 的这个方法,来告诉用户再 次开启游戏。 Abstract

49、 void notifyDestroyed()如果游戏者决定退出游戏,可以调用这个方法来通知应用 程序管理器。 续表 2-2 MIDlet 类 方 法描 述 Abstract void notifyPausrd()调用这个方法来通知应用程序管理器游戏者已经暂停游戏。 Abstract void notifyRequest()调用这个方法来告诉应用程序管理器 MIDlet 要重新开始。 应用程序管理器(Application Manager ,AM)的作用就是管理 MIDlet 。 本质上来说,MIDlet 应用程序只存在两种状态暂停和运行。MIDlet 被创建后默认为暂停状态,当应用程序管理器认为它准备完毕,它会调用 startApp 方法来通知 MIDlet 进入运行状态。 2.4.3 使用定时器 MIDP API 包括两个关于定时器的类Java.util.Timer 和 Java.util.Timer Tast 类 (如表 2-3 和 2-4 所示): 表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1