在这种模式中,已经完全省略了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上的客户端软件来说可能不算什么,可是对于存储容量十分有限的移动设备则是致命的。
② 模型、视图与控制器分离,它们之间传递数据时会耗费一定的系统时间,这或多或少会降低程序的运行效率。而程序体积的膨胀也使得J2ME在装载类时会耗费更多的时间,也从一定程度上损害了程序的性能。
③ MVC的3个部件定义并不具体,对于3个部件的具体功能还存在着一些争议。这给初学者留下不少的陷阱,加大了使用MVC模式的难度。
结 语
综上所述,当J2ME应用程序比较庞大时,将MVC设计模式应用于程序的框架设计是一个不错的选择;而当应用程序比较简单时,MVC模式的缺点就暴露出来了,这时可以考虑使用MVC的简化模式——MV模式,甚至是V模式。目前,笔者已将MVC模式应用于J2ME手机播客软件中,取得了良好的效果。