java strategy

谈谈自己对策略设计模式的简单理解

 

策略设计模式概念网上有很多啦,我就黏贴过来:

 

策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用

谈谈我的理解,
策略模式中有个如上图三个重要的元素,
容器---持有策略的引用
策略--定义方法的接口
具体策略---不同的策略实现方式

策略接口有不同的子类实现,对于同一个算法,比如接口提供啦加密算法,

public  void encrypt(String aa);

那么子类对于加密有不同的方式,第一个子类就可以是简单加密,第二个子类就是复杂加密
但是对于容器来说是不管是什么加密方式只对传递进来的策略实现进行加密方式调用

在容器类中
private Strategy strategy;//对策略进行持有
public Content(Strategy strategy){
this.strategy=strategy;//传递进来不同的子类实现
}
public void encrypt()
{
//传递进来是什么子类就调用的是什么算法实现
  strategy.encrypt();
}

容器持有策略的引用并在其中进行引用调用,也就是说在容器中对策略的引用是通过传递策略接口实现类来动态调用不同的算法的实现。

这样对于客户端来说,就可以动态的选择不同的子类,达到同一结果不同算法实现。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值