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

    策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。

    一个对象有很多行为,避免用众多if……else if这种形式把这些行为转移到相应的具体策略中,可避免难以维护的多重选择。

    适用场景:一个系统需动态的在几种算法中选一种。

     1 //抽象策略接口
     2 interface Strategy{
     3     //策略方法
     4     public void method();
     5 }
     6 
     7 //具体策略类
     8 class ConcreteStrategyA implements Strategy{
     9 
    10     @Override
    11     public void method() {
    12         //具体业务代码
    13     }
    14     
    15 }
    16 
    17 class ConcreteStrategyB implements Strategy{
    18 
    19     @Override
    20     public void method() {
    21         //具体业务代码
    22     }
    23     
    24 }
    25 
    26 //环境角色类
    27 class Context{
    28     //持有一个具体策略对象
    29     private Strategy strategy;
    30     
    31     public Context(Strategy strategy){
    32         this.strategy = strategy;
    33     }
    34     
    35     //策略方法
    36     public void method(){
    37         strategy.method();
    38     }
    39 }
  • 相关阅读:
    php冒泡排序
    解决ubuntu下安装phpmyadmin访问不了的问题
    反省
    mysql主从复制
    ubuntu14.04 安装 bcm43142无线网卡
    mysql 批量更新和批量插入
    chromium 安装 pepper flash player
    js prototype新感悟
    读《乌合之众》
    马云---我的世界永不言败
  • 原文地址:https://www.cnblogs.com/gsbm/p/4806327.html
Copyright © 2011-2022 走看看