策略模式

所谓策略模式就是定义了多种算法,而让不同算法之间的切换不会影响到客户端。
策略模式主要涉及3个组成部分
(1) 环境对象:该类中实现了对抽象策略中定义的接口或者抽象类的引用。
(2) 抽象策略对象:它可由接口或抽象类来实现。
(3) 具体策略对象:它封装了实现同不功能的不同算法。
因此很好理解就是定义一个抽象的接口,该接口包含了一个之类公共的方法,然后定义不同的算法去实现该接口,最后定义一个容器即环境,使用组合的方式将抽象接口注入到容器当中。
最后在调用时动态的向容器中注入具体的策略方法。
实例如下
定义策略接口
public interface Oprator{

void work();

};
定义策略实现类
public class AddOperator implements Operator{
void work(){
sysout("添加操作");
}
};
public class UpdateOperator implements Operator{
void work(){
sysout("修改操作");
}
};
定义环境
public class Context{
private Operator operator;
public Context(Operator ope){
this.operator = ope;
}

public void operate(){
operator.work();
}
};

调用
main(){
Context addCon = new Context(new AddOperator());
addCon.operator();

Context updateCon = new Context(new updateOperator());
updateCon.operator();

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值