zoukankan      html  css  js  c++  java
  • 设计模式之禅策略模式

    策略模式:define a family  of algorithms,encapsulate each one,and make them interchangeable.

    策略模式三个角色:

      context:上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化、

      strategy:抽象策略角色,策略、算法家族的抽象、接口,定义每个策略或算法必须巨涌的方法和属性。

      concreteStrategy:具体策略角色。

      

      模版:

      

     

     public interface Stategy(){
    
        public  void doSomething();
    
      }
    
     
    
     
    
      public class ConcreteStrategy1 implements stategy{
    
        public void doSomething(){
    
          System.out.println("具体策略1的运算法则");
    
        }
    
      }
    
     
    
      
    
      public class ConcreteStrategy2 implements stategy{
    
        public void doSomething(){
    
          System.out.println("具体策略2的运算法则");
    
        }
    
      }
    
     
    
      
      public class Context(){
    
        private Strategy strategy = null;
    
     
    
        public Context(Strategy _strategy){
    
          this.strategy =_strategy ;
    
        }
    
        public void doAnything(){
    
          this.strategy .doSomething();
    
        }
    
      }
  • 相关阅读:
    gcc数据对齐之: howto 2.
    gcc数据对齐之: howto 1.
    gcc数据结构对齐之:why.
    linux tricks 之 BUILD_BUG_ON_ZERO.
    linux tricks 之 FIELD_SIZEOF.
    linux tricks 之 container_of.
    linux tricks 之 bitmap分析.
    linux tricks 之 roundup.
    Windows之svn问题
    Embeded linux之地址映射
  • 原文地址:https://www.cnblogs.com/cxyzl/p/2543849.html
Copyright © 2011-2022 走看看