上午和郭军共同搭了框架。使用纯虚类封了接口。 在CTable中继承了IOper的各种方法。在Oper.dll文件中重新包装了下IOper的方法,并成为对外的接口(对用户界面的接口)。CTable成为创建各种表的模板。表的结构存储在文件中,表的数据域也存储在内存中。文件中数据格式的读写是关键的。不过第一个版本并不实现。
第一个版本只是对内存中存放数据,并不涉及文件的操作。我们将表的结构设计为一个类来存放所有的数据。CTable中还有一个类来专门做索引。只要判断类型,就可以知道是用红黑树还是使用HashTable来构建数据的索引。CTable类中还要存放全部数据的结构体。
对于CTable实例化是在CCTableManger内实现的。外界调用的时候只需将名字传入,CCTableManger负责创建此实例,并且通过对已经实例化的CTable的TableName进行对比,可以防止重复的将文件中的数据读入内存。还可以使用LRU算法对内存进行控制。
有时发现两个人分别做事情有时比两个人合作要效果要差很多。这些想法是我们俩想到的。如果一个人可能就想不到这些东东了。记得我想到CCTableManger的时候,郭军高呼:这个不错。。。然后又想到了内存管理等等东西。于是想了更多更好的实现方法。这样合作,这个项目应该问题不大。
下一步准备结对编程进行编码了。
今天又找了下我blog,发现搜索帐前卒竟然第一条是别人的圈子。百度做的真有点意思。而且好像还搜不到我的东西。Google的好像也是一样。