基于MVC模式的J2ME应用程序框架设计 - 编程入门网
杂,如果还像以前那样使用一个类来完成所有的代码,必将使得程序可读性差、扩展性差、可维护性差。然而,如果把MVC模式应用在J2ME应用程序设计中,就可以解决以上的问题。下面列举并分析几种在J2ME中比较适合的MVC模式。
3.1 单一控制器的MVC模式 MVC模式是大家都比较熟悉的,整个程序中使用同一个Controller来控制界面的切换和事件的处理等,如图2所示。 在J2ME应用程序中,界面的切换是比较常见的操作,利用这种单一控制器的MVC模式,可以很容易地实现界面的切换,如图3所示。 由于界面切换流程都在这个Controller中进行管理,所以程序流程制定得非常清晰。但是由于只有一个控制器,所以如果界面很多、很复杂,就会使得这个控制器十分庞大,影响到开发效率。 3.2 多个控制器的MVC模式 当应用程序界面很多时,可以改变这种情况使用多个控制器的MVC模式,如图4所示。 在这种模式下,按照程序模块把界面分成若干个部分,每个部分使用一个控制器来控制。这样做的好处是程序模块划分得很清楚,程序结构更加清晰,也不至于使得一个控制器过于庞大;缺点是程序的类数量更多,控制器之前增加了通信开销。 基于MVC模式的J2ME应用程序框架设计(3)时间:2011-02-15 单片机及嵌入式系统应用 姜帆 罗蕾3.3 简化的MV模式 上面的两种程序设计模式已经很常见于PC上的应用软件设计,包括WEB应用或J2EE中的设计。但是通常来说,由于基于移动设备的J2ME应用软件复杂程度相对PC上的要低许多,有时候本来就只有几个类,如果完全照搬PC上的MVC模式,反而会使程序框架变得更加复杂。这时,可以采用以下的一种变形:MV模式(或称为MC-V或M-VC模式),如图5所示。 在这种模式中,由于去掉了控制器,于是把控制器的功能合并到View或Model中。如果把Controller合并到View中,则可称其为M-VC模式;如果把Controller合并到Model中,则可称其为MC-V模式。 3.4 更加简化的V模式 如果认为上面这种简化的MV模式还是过于复杂,那么可以考虑下面的V模式,如图6所示。 在这种模式中,已经完全省略了Model和Controller,只剩下View了。界面的切换和数据的处理都在各个界面的View中独立完成。这样使得类的数量极大地减少,程序执行效率有一定的提高,可是从另一个方面来说,程序的耦合度也增大了。所以,一般来说并不推荐使用这种模式,只有在程序十分简单、数据量很小时才使用。 4 MVC模式应用在J2ME上的优缺点 MVC模式作为一种已成熟应用在PC客户端的设计模式,其优点是不言而喻的。这些优点同样也在J2ME上得到了很好的体现: ① MVC最大的优点就在于它把一个应用分成了3层,这样程序设计的灵活性就大大增加了。例如,一个应用的业务流程或者业务规则的改变只须改动MVC的模型层,而界面表现方式的改变则只须改动MVC的视图层。 ② 将MVC分离可以让不同的专家负责不同的模块。一般情况下,M部分由熟悉数据库、网络传输的专家负责;V部分则交给对UI有研究的专家。分工意味着可以提高效率并可以按照传统的责任划分来处理软件开发过程,使开发者可以专心于一个领域,从而极大地提高了软件开发的效率。 ③ 模型的部分,因为足够抽象,可以方便地重复利用,符合OO的思想。另一方面可以利用J2meUnit等单元测试工具对模型进行单元测试,以保证工程质量。 然而MVC模式也存在着一些缺点,而这些缺点在J2ME应用上体现得更加明显: ① MVC模式应用于J2ME上的最大缺点莫过于增大了代码体积。据不完全统计,使用了MVC模式后,代码体积约是不使用MVC的1.5倍。这对PC上的客户端软件来说可能不算什么,可是对于存储容量十分有限的移动设备则是致命的。 ② 模型、视图与控制器分离,它们之间传递数据时会耗费一定的系统时间,这或多或少会降低程序的运行效率。而程 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |