内存管理模块的要求:1.线程安全 2.接口易用性 3.数据结构的通用性 4.数据的唯一性
1. 线程安全
为了保证线程安全对每个类型数据读写操作都要进行安全锁,保证同步
2.接口易用性
内存操作分为获取,添加,更改以及删除
以Set开头的函数用于更改和添加
返回值为int:返回1表示更改信息,返回0表示添加信息
以Get开头的函数用于获取
返回值为int:返回0表示从内存中获取的数据,返回1表示从本地DB中获取的数据,返回
2表示向服务器请求
以Del开头的函数用于删除
返回值为BOOL:返回TRUE表示成功删除,返回FALSE表示删除失败(内存中没有此数据)
3.数据结构的通用性
因为一个完整的系统,可能由服务器和客户端,插件等几部分组成,他们之间的交互肯定离不开数据的发送与接收,这时候统一的数据结构显得重要且必要,因为统一的数据结构易于维护和便于扩展
4.数据的唯一性
一个程序不同模块之间共享同一份数据,为了保证数据的最新和正确,数据要求唯一,因此我在模式上采用singleton模式