回复:建议:开发出两种版本的象棋桥3.0,一种为CBL,一种为CBR。
2.x的CBL格式在棋谱比较多的情况下,读取和写入的效率都不高。但即使设计一种效率高的棋库格式,因为要支持分层结构,也还是有问题:
是在棋库内部分层还是在棋库外面由文件夹分层。
1)如果在棋库内部分层,那象棋桥只管理一个文件,还是管理多个棋库文件。
1)只管理一个棋库文件,方便程度比现在多个文件还不如。
2)管理多个棋库文件,棋库之间的层次关系怎么定义?
2).外面由文件夹分层,意味着只有最底层的文件夹才能有棋谱的存在。
其实,如果一个棋库文件内部分层以后,已经相当于一个文件系统了。既然操作系统已经提供了文件系统(操作系统的基本功能),又何必自己再去定义一套文件系统呢?自己定义的文件系统,构筑在操作系统的文件系统之上,再加上自身水平有限,效率肯定比不过操作系统提供的,所以最后决定还是用单个文件来实现分层管理。
现在用CBR的主要缺点就是一局棋谱一个文件,文件显得比较多,但我认为这并不是什么实质性的问题,区别就是在资源管理器里,是看到一个文件还是多个文件。而且软件提供了导出CBL的功能,对外表现的时候还是可以只有一个文件。
如果大家可以接受只有在最底层才能有棋谱出现的操作方式,那是可以用棋库文件来做。当时设计的时候,我觉得这样就失去了分层的灵活性,所以放弃了这项选择。