一个J2ME程序,由其是游戏,state己经是必不可少的一个变量了,我们用它来切换画面、按键的作用区域,以前简单的程序,和简单的游戏中,几个状态就可以控制整个程序的流程,看似相当的方便,但随着手机程序的复杂度的提高,我们的主类中的state越来越多,现在一个普通的手机游戏最少也要用到20个左右的state,放眼过去,光状态控制的代码就要好几页。一是不利于管理,二是不利于其它人理解代码,三是不利于快速开发。最近做的一些NOKIA内置项目,还有BenQ的Catalog项目中这个问题表现的很严重,项目要求的时间非常紧,根本没有写注释的时间,而且改动的内容非常多,结果很多的时间都浪费在找代码和重读代码中。
看来写一套自己的组件库是势在必行了。这两天利用了一下睡前的时间想了想新的模式,发现VS.NET的UI组件的概念真的很不错,尤其适合快速开发,因此准备写一套J2ME的UI组件,而状态的问题也通过这两天的思考,大至有了一些想法。引入组件的概念,也就是把UI,控制都对象化,那为什么状态不能也对象化呢,想到这里,发现,其实完全可以把状态对象化的。放弃以前的主流程来控制状态,采用对象控制的方法,一是可以不用在