定义: 定义一些列算法,分别封装起来,并使它们可
相互替换
。
作用:让算法的变化,不会影响到使用算法的客户。
解决if...else 中的算法的问题。
面向对象的变成,并不是类越多越好,类的划分是为了封装,但是分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。
单独的算法:有利于单元测试
还是用策略模式的情况:
1》一个类在其操作中使用多个条件语句俩定义许多行为。 可以吧相关的条件分支移到它们自己的策略类中
2》需要算法的各种变体
3》需要避免吧复杂的、与算法相关的数据接口暴露给客户端。
常见的例子:
1》 商场打折、积分、返利等活动
2》输入框的输入限制校验
网友评论