昨天根据时序图又补充了张类图。可当在画类图时,又发现了很多的问题,真是越往细处看,冒出的问题也就越多,但总体框架还是没变,细节方面就比较难以权衡。
例如在wtFactory这一块,一开始我是想使用接口,可用了接口之后,子类里就产生了重复的代码,为什么不把这一相同的过程提取出来放到父类中呢,呵呵看来这变成了模板模式和工厂模式的变种了,暂且这样吧。
Operator,wtFactory和wtCommand形成了抽象工厂模式
wtFactory本身像模板模式(我只能说像,应为我设计的时候并没有套用模式,只是直觉+面向对象原则),也许这个地方可以使用策略模式,又是一个研究模板模式和策略模式的好机会。
wtCommand这使用了命令模式,但这儿存在一个雷区,可能会产生继承的类膨胀,子类太多,可要是再把子类分类又会使得继承层次加深。使用组合的话,还没找到一个好的提取方法。这儿有待琢磨。