策略模式,又叫政策模式,他是将定义的算法家族,分别封装起来,让它们之间可以互相替换,从而让算法的变化不会影响到使用算法的用户。
可以避免多重分支的 if...else...和switch语句。
策略模式属于行为型设计模式。
策略模式也可以理解为是一种单一的we
生活中的应用场景:阶梯个税,手机支付方式选择。
应用场景
1.假如系统中有很多类,而他们的区别仅仅在于它们的行为不同。
2.需要动态的在几种算法中选择一种。
3.需要屏蔽算法规则。
类图:
策略模式的优点:
1.策略模式符合开闭原则。
2.避免使用多重条件转移语句,如if...else...语句,switch语句。
3.使用策略模式可以提高算法的保密性和安全性。
策略模式的缺点:
1.客户端必须知道所有的策略。
2.策略过多是会增加系统的复杂度。