b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

代码设计模式 走穿java23种设计模式

电脑杂谈  发布时间:2018-02-19 17:04:25  来源:网络整理

代码设计案例_代码设计模式_依赖倒转原则

策略链模式,也叫政策模式,是一种简单的模式。

蔡梁如愿成为了一名警察并被分配到了重案组,他刚刚调到重案组就参加了一个重大,这次需要剿灭一个贩毒团伙。代码设计模式因为这个贩毒团伙非常狡猾,重案组为力确保万无一失,一击即灭整个贩毒团伙,他们针对有可能发生的情况制定了多项计划,最终经过 激烈讨论他们确定了A、B、C三套计划。确定计划后,蔡梁就跟同事一起参加了这次的围剿行动,并且最终将整个贩毒团伙一网打尽。

上面的这个场景中,针对围剿贩毒团伙可能发生的情况,重案组确定了A、B、C三套计划,但是贩毒团伙并不会知道,这个就类似于设计模式中的策略模式。

定义一组算法,将每个算法封装起来,并且使他们之间可以互换。其用意是针对一组算法,将每个算法封装到具有共同接口的独立类中,从而使得它们可以相互转换,使得算法可以在不影响客户端的情况下发生变化。

1

该角色也叫上下文角色,有承上启下的作用,屏蔽高层模块堆策略、算法的直接处理,他持有一个Strategy类的应用。

该角色对策略、算法进行抽象,通常定义每一个策略或算法具有的方法和属性。

该角色实现抽象策略中的具体操作,含有具体的算法。

这里使用上面的现实场景做代码示例。

2

方法的作用看代码。。。

代码设计案例_代码设计模式_依赖倒转原则

package P16_stategy;

/**
 * 策略抽象类
 */
public abstract class StrategyForPlan {
    //抽象的围剿计划
    public abstract  void plan();

}
package P16_stategy;

/**
 * A计划
 */
public class APlan extends StrategyForPlan {
    @Override
    public void plan() {
        System.out.println("执行A计划");
    }
}
package P16_stategy;

/**
 * B计划
 */
public class BPlan extends StrategyForPlan {
    @Override
    public void plan() {
        System.out.println("执行B计划");
    }
}
package P16_stategy;

/**
 * C计划
 */
public class CPlan extends StrategyForPlan {
    @Override
    public void plan() {
        System.out.println("执行C计划");
    }
}
package P16_stategy;

/**
 * 测试类,上下文类
 */
public class ContextPlan {

    private StrategyForPlan strategyForPlan;

    public ContextPlan(StrategyForPlan strategyForPlan){
        this.strategyForPlan=strategyForPlan;
    }
    public  void actionPlan(){
        strategyForPlan.plan();
    }

    public static void main(String[] args){

        //制定出三种方案
        StrategyForPlan aPlan=new APlan();
        StrategyForPlan bPlan=new BPlan();
        StrategyForPlan cPlan=new CPlan();

        System.out.println("默认执行A计划");
       //执行A计划
        ContextPlan realPlan=new ContextPlan(aPlan);
        realPlan.actionPlan();

        System.out.println("情况有变需要执行B计划");
        //情况有变需要执行B计划
        realPlan=new ContextPlan(bPlan);//替换计划
        realPlan.actionPlan();//执行计划

        System.out.println("最终将贩毒团伙一网打尽。");
    }

}

3

策略模式适用于某些特定需求的功能,就像我们百度地图上从一个地方到另一个地方的路线,有时间优先的,有价格优先的,还有路线最短的,都是能帮你到达终点的。。。

策略模式模式就为大家介绍到这里。代码设计模式

大家如果对其他设计模式有兴趣可以看看我之前的博客:

15责任链模式:

14命令模式:

13模板方法模式:

12享元模式:

11外观模式:

10桥梁模式:

依赖倒转原则_代码设计案例_代码设计模式

9组合模式:

8适配器模式:

7装饰模式:

6代理模式:

创建型模式详解:

5原型模式:

4建造者模式:

3抽象工厂模式:

2工厂方法模式:

可以仔细对比一下工厂方法模式和抽象工厂模式,看看概念,看看类图,看看代码,就会明白了。

1单例模式:

java 23种设计模式介绍:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-85286-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...