• 策略模式




    1. 策略模式(Strategy Pattern)

    给一个对象(context )以不同的策略(Strategy ),该对象就会执行不同的策略算法,这里需要三个对象

    • 策略算法接口
    • 每个算法的具体实现
    • Context 对象


    2. 流程


    2.1 策略算法接口

    public interface Strategy {
    	abstract void travel();
    }
    

    2.2 策略算法的具体实现

    • 坐飞机
    public class aircraft implements Strategy {
    
    	public void travel() {
    		System.out.println("坐飞机");
    	}
    }
    
    • 坐火车
    public class train implements Strategy {
    
    	public void travel() {
    		System.out.println("坐火车");
    	}
    }
    

    2.3 上下文对象

    public class Context {
    	
    	private Strategy st;
    
    	public Context(Strategy st) {
    		this.st = st;
    	}
    	
    	public void Setout(){
    		System.out.println("Coneext去旅游——————策略算法为:");
    		st.travel();
    	}
    }
    

    2.4 实现

    public static void main(String[] args) {
    	
    	Context c1 = new Context(new aircraft());
    	c1.Setout();
    	
    	System.out.println("------------------------------");
    	
    	Context c2 = new Context(new train());
    	c2.Setout();
    }
    
    Coneext去旅游——————策略算法为:
    坐飞机
    ------------------------------
    Coneext去旅游——————策略算法为:
    坐火车
    

    说到底策略模式和装饰者模式还是有很大的相似性,都是通过包装来实现----装饰者模式




  • 相关阅读:
    移动端--基于Android Studio的项目文件结构(一)【转】
    java知识体系粗略梳理
    简单的使用hibernate插入数据的例子
    触发器
    存储过程和函数
    视图
    索引的设计和使用
    数据类型的选择
    表类型(存储引擎)的选择
    MySQL中的常用函数
  • 原文地址:https://www.cnblogs.com/Howlet/p/12027704.html
Copyright © 2020-2023  润新知