zoukankan      html  css  js  c++  java
  • 策略模式

     Strategy Pattern,定义算法家族,分别封装起来,互相之间可替换,此模式让算法的变化不会影响到使用算法的客户端。

     // 上下文类(Context):用一个ConcreteStratege来配置,维护一个对Stratege对象的引用。
     public class Context{   
         private Strategy strategy;
         public Context(Strategy strategy){    // 初始化上下文时,将具体策略传入
             this.strategy = strategy;
         }
         public void ContextInterface(){       // 根据具体策略对象,动态调用其算法
             strategy.AlgorithmInterface();
         }
    }

    改进:可以与简单工厂模式结合,进一步降低耦合,减轻客户端代码冗余。

    参考

  • 相关阅读:
    linux终端发送邮件
    ubuntu交换Caps 和 ESC
    pycharm快捷键
    python catch socket timeout
    pgsql restart
    python re.sub
    文件写入与缓存
    HTTP协议再分析
    leetcode-45
    Java的锁
  • 原文地址:https://www.cnblogs.com/wjcx-sqh/p/5983040.html
Copyright © 2011-2022 走看看