基于MVC模式的J2ME应用程序框架设计 - 编程入门网
基于MVC模式的J2ME应用程序框架设计时间:2011-02-15 单片机及嵌入式系统应用 姜帆 罗蕾1 J2ME应用程序框架的现状 Sun公司在1999年6月推出了J2ME(Java 2 MicroEdition,Java 2袖珍版)。J2ME是专门为那些使用有限电源、有限网络连接以及有限图形用户界面能力的设备开发的,满足了消费电子和嵌入式设备开发的需要。 而7年后的今天,消费电子和嵌入式设备发展迅速。硬件设备速度越来越快,存储容量也越来越大,这也就自然带动了软件的发展。MIDP 2.0和CLDC 1.1也相继问世,各种各样的JSR也层出不穷。 硬件平台和软件平台的飞速发展自然带动了人们需求的增长,也就使得现在的应用程序越来越复杂。以手机游戏为例:以前的手机游戏,一般代码必须限制在64 KB以内;而现在,大部分手机的这种限制已经取消。上百KB的游戏已很常见,甚至有的J2ME游戏已经超过2 MB。 通常来说,J2ME程序都是比较小的,多数在100 KB以下。而且其中大部分是图片和声音,代码只占其中很少一部分。在J2ME程序比较小时,为了提高程序的执行效率,通常的做法是只用一个类完成整个应用程序,在回调函数commandAction()中完成所有界面切换的工作。例如: 这种模式的好处在于代码量最小,能得到最小的jar包尺寸,执行起来效率也最高;而且,因为所有界面都在同一个类中,它们可以很方便地共享数据。 但如果界面很多,程序很大,这种模式就体现出它的劣势了。一方面,几千行的代码集中在一个类里,调试和维护非常不方便。另一方面,由于很多界面都在同一个类中共享数据,使得它们的耦合度大大提高。如果要替换或修改其中某个界面,很可能会影响到其他界面。这就给开发程序带来了很大的不便。 随着嵌入式硬件的发展,J2ME软件的复杂度也越来越大,上述设计模式已不能适应嵌入式发展的需求。这就需要一个更好的设计模式来取代以前的简单设计模式。下面就介绍一下如何把MVC设计模式应用到J2ME程序设计中。 2 MVC模式的简介 MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础,Microsoft的MFC基础类也遵循了MVC的思想。目前这种模式已经非常成熟,并在WEB Application的开发中广泛使用,apache的开源项目struts就是典型的例子。 MVC的英文全称是Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Con-troller的方式进行分离。这样一个应用被分成3个层——模型层、视图层和控制层。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,那么所有其他依赖于这些数据的视图都应反映出这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,实现显示的更新。这实际上是一种模型的变化一传播机制。模型、视图、控制器三者之间的关系和各自的主要功能如图1所示。 基于MVC模式的J2ME应用程序框架设计(2)时间:2011-02-15 单片机及嵌入式系统应用 姜帆 罗蕾3 基于MVC模式的J2ME应用程序框架 MVC是一种很好的客户端软件设计模式,但目前一般只用于PC上。以JAVA为例,目前已经可以看到MVC大量地应用在J2EE和J2SE上,可是几乎还很少见到在J2ME上使用MVC模式。这是为什么呢?有以下两点原因: ① 大部分的J2ME应用都很简单,开发周期也很短,很多开发人员偏爱把所有代码写在一个类中,认为没有必要使用复杂的设计模式; ② 使用MVC模式在某种程度上会增大代码的体积,并且有可能在一定程度上影响程序的执行效率,这在资源相对有限的J2ME系统上是一个不可忽视的问题。 可是随着嵌入式硬件的发展,移动设备的性能有了很大的提高,从而带动了应用软件的发展。J2ME应用软件变得越来越复 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |