总的说来策略模式:
优点:
1、 使用策略模式可以避免使用多重条件转移语句。多重转移语句不易维护。
2、 策略模式让你可以动态的改变对象的行为,动态修改策略
缺点:
1、客户端必须知道所有的策略类,并自行决定使用哪一个策略类。
2、类过多---策略模式造成很多的策略类,每个具体策略类都会产生一个新类。(这点可以通过享元模式来克服类过多)
实例代码:在C/S 的射击类游戏中,同一个角色,拿起不同的武器,会有不同的行为。武器可以随意的切换。
代码已上传GitHub,如需参考可自行下载:
https://github.com/GavinChen-Hub/StrategyMode