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

    Context:使用不同的策略的环境,它可以根据自身的条件选择不同的策略实现类来完成所要的操作。它持有一个策略实例的引用,创建具有策略对象的方法也可以由它完成

    Strategy:抽象策略,定义每个策略都要实现的策略方法

    Strategy

    package design.pattern.strategy;
    
    public interface Strategy {
        public void run();
    }

    ConcreteStrateA

    package design.pattern.strategy;
    
    public class ConcreteStrateA implements Strategy{
    
        @Override
        public void run() {
            System.out.println("ConcreteStrateA");
        }
    
    }

    ConcreteStrateB

    package design.pattern.strategy;
    
    public class ConcreteStrateB implements Strategy{
    
        @Override
        public void run() {
            System.out.println("ConcreteStrateB");
        }
    
    }

    Context

    package design.pattern.strategy;
    
    public class Context {
        private Strategy strategy;
        
        public Context(Strategy strategy) {
            this.strategy = strategy;
        }
        
        public void setStrategy(Strategy strategy) {
            this.strategy = strategy;
        }
        
        public void run() {
            strategy.run();
        }
    }

    Client

    package design.pattern.strategy;
    
    public class Client {
        public static void main(String[] args) {
            Context context = new Context(new ConcreteStrateA());
            context.run();
            context.setStrategy(new ConcreteStrateB());
            context.run();
        }
    }
  • 相关阅读:
    sping AOP核心思想及实现原理
    springmvc RequestMappingHandlerMapping初始化详解
    springmvc RequestMappingHandlerAdapter初始化详解
    POJ 3169 Layout
    POJ 3264
    POJ 3461 Oulipo
    二分图判定 POJ-2492
    最小生成树 prim算法
    初级BFS
    哈夫曼建树
  • 原文地址:https://www.cnblogs.com/m2492565210/p/7245569.html
Copyright © 2011-2022 走看看