回复:[M] Prelude to K.O. (3)
现在才看到这东西=。=
先感谢汉化组的辛劳,以前以为楼主只是开玩笑说说罢了,因为后来帖都不知删哪去了……
还是说点自己的看法吧
很怀疑CAS的必要,想必KO只是个修改剧本和配置之类的工具,改完后游戏时是不用祭出来当外挂的
既然不需要在游戏运行时同时运行,即时响应消息有什么用
如果是KO自身修改剧本时需要传递消息,就像楼主说的IMC,那么传递什么消息需要比总线消息更多的功能呢
看了下KO的汉化剧本的功能,看不出有需要同步的部分,各个模块间都是必须严格串行的(暂不考虑提取剧本同时写入更改的剧本,因为一般人只会在第一次运行时提取剧本),简单地传递消息就好了,而且不是要等待消息传到,而是一定要传到,不然修改不就无效了=。=
另外clannad剧本只有4.6M,没必要用到数据库吧,即使为了以后的需要,那里也可以设计为一个接口,需要用数据库或保持成文件什么再调用相应模块(即Facade模式)
还有那个消息的“投递”,感觉这些模块只要告诉目标模块做什么,动作完成没,准备好没就行了。楼主说的媒体文件的播放、动画特效的渲染应该集中在1、2个模块内(假如需要分别处理音、视频)完成,其中也没必要传递大量消息
啰嗦了一堆,其实只想说,不必要的复杂只会导致项目的失败。如果不是需要这个构架开发一系列东西,完全可以舍弃的。软件构架是为了降低复杂度、提高重用性设计的,不是为了提高复杂度=。=
个人观点是除了调试外,这个构架基本没用(不过VS也能调试这种东西,只是偶没写过这种东西;另外TDD的方式感觉对调试帮助更大),而且只会是KO的牵绊。如果只是为了试验的话,我就不说了