目录
1、概述与感悟
在由原来的坦克大战基础版本,向抽象工厂设计模式方向改造的过程中,有一个体会:最好在程序一开始就建立面向抽象面向接口的编程思路和习惯,比如坦克类、子弹类、爆炸类这些,可以首先定义一个抽象类。所有程序都面向抽象编程的话,这样后期扩展会更方便。
另外,对于抽象类及接口中的抽象方法定义,可以先尽量少的定义或不定义,后期在扩展子类的过程中,需要抽象哪个方法或属性时,再进行抽象。这样避免了新的子类尽可能少的实现一些方法。
复习一些之前学习的策略模式内容:
https://blog.csdn.net/phs999/article/details/107125836
2、类图与代码
大概首先有一个抽象工厂类GameFactory,DefalutFactory和RectFactory是其具体实现类,用于产生不同的产品族。
每个产品族里包含Tank、Explode、Bullet三种产品(类),其对应的抽象父类就是BaseTank、BaseExplode、BaseBullet。
<