策略模式的注意事项和细节
1、策略模式的关键是:分析项目中变化部分与不变部分;
2、策略模式的核心思想是:多用组合/聚合,少用继承; 用行为类组合,而不是行为的继承,使结构更有弹性;
3、体现了 “对修改关闭,对扩展开放”原则,客户端增加行为不用修改原有代码,只要添加一种策略(或者行为)即可,避免了使用多重转移语句(if...else if...else)
4、提供了可以替换继承关系的办法:策略模式将算法封装在独立 Strategy 类中使得你可以独立于其 Context 改变它,使它易于切换、易于理解、易于扩展
5、需要注意的是:每添加一个策略即要增加一个类,当策略过多会导致类数目庞大