RMS,Record Management System,是移动设备的存储系统。
首先,RMS是必要的。用户程序总要有一些数据需要存储在掉电不丢失的媒介上,比如用户的个性化设置,或者用户的数据。
其次,RMS是抽象的。各种移动设备都有着不同的物理实现方法,相应的存储系统也有各自不同的实现方法(flash,rom……)。因此,RMS为程序员提供了一套统一的接口,如同JDBC一样,大大减轻了程序员的负担——一个典型的OO应用。
这里,简单实现了Emulator的存储系统。Emulator需要存储两个东西:
1. 个性化设置。简单起见,实现了两个个性化设置:难度等级和自动开火选项,其中难度等级分为3级。
2. 用户数据保存。游戏中就是用户的最高分纪录。
根据RMS的特点,以上数据转化成基本数据类型处理。难度等级和自动开火选项就用int,最高分纪录则是对应的String+int(名字+分数)。
下面是这个小系统的UML class图。定义了一个基类BaseRMS,将RMS的公共操作部分提取出来,目的是便于维护和代码重用(虽然移动设备的程序的效率很重要,但是这样的抽象还是需要的。关于这类OO的东西可以参考Agile Design,一本很不错的书)。源码:
http://www.j2medev.com/bbs/dispbbs.asp?boardid=11&id=4028&star=1#20732
如果图片看不到,可以在上述地址中找到