标签:img 很多 算法 模式 实例 策略模式 问题 包括 设计
策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。是一种对象行为型模式。
使得客户端可以根据外部条件选择不同策略来解决不同问题
1.策略模式仅仅封装算法(包括添加 & 删除),但策略模式并不决定在何时使用何种算法,算法的选择由客户端来
2.将算法的责任和本身进行解耦,对算法进行封装,将算法的责任和算法本身分割开,委派给不同的对象管理。
3.让算法和对象分开来,使得算法可以独立于使用它的客户而变化
首先有一个打卡接口
public interface Strategy {
void ding();
}
然后选择不同部门打卡
public class StrategyA implements Strategy {
@Override
public void ding() {
System.out.println("A ding 了一下!!!!!!!!!");
}
}
public class StrategyB implements Strategy {
@Override
public void ding() {
System.out.println("B ding 了一下!!!!!!");
}
}
最后调用方法
public class Context {
private Strategy strategy;
public Context(Strategy strategy){
this.strategy=strategy;
}
public static void main(String[] args) {
Context contextA =new Context(new StrategyA());
contextA.strategy.ding();
Context contextB =new Context(new StrategyB());
contextB.strategy.ding();
}
}
输出结果为:
A ding 了一下!!!!!!!!!
B ding 了一下!!!!!!
标签:img 很多 算法 模式 实例 策略模式 问题 包括 设计
原文地址:https://www.cnblogs.com/xiaoxiaoliu/p/10440163.html