欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

策略设计模式 博客分类: 设计模式 设计模式 

程序员文章站 2024-03-14 12:50:58
...
策略设计模式:

      概念:定义了算法簇,分别封装起来,让他们之间可以相互替换。此模式让算法的变化独立于使用算法的客户。


      个人理解:策略设计模式即是用接口+组合的方式分离实现。伪代码如下:

  
public abstract class StrategyPatternDuck {
	
	
	private Cry cry; //接口实现叫这个行为
	private Fly fly; //接口实现飞这个行为
	
	
	
	public StrategyPatternDuck(Cry cry, Fly fly) {
		//通过构造函数注入
		this.cry = cry;
		this.fly = fly;
	}

	private void cry(){
		//叫 具体怎么叫 看怎么实现的Cry接口中的cry方法。
		cry.cry();
	}
	
	private void fly(){
		//飞 具体怎么飞 看怎么实现的Cry接口中的cry方法
		fly.fly();
	}
	//具体外观是什么样由子类实现
	public abstract void display();
	//通过setter方法注入
	public void setCry(Cry cry) {
		this.cry = cry;
	}
	//通过setter方法注入
	public void setFly(Fly fly) {
		this.fly = fly;
	}
	
}


Cry和Fly都是接口分离了行为,然后利用组合达到复用的目的。这就是策略模式。



策略设计模式
            
    
    博客分类: 设计模式 设计模式 

  • 策略设计模式
            
    
    博客分类: 设计模式 设计模式 
  • 大小: 27.3 KB
相关标签: 设计模式