`
darezhong
  • 浏览: 8936 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

设计模式学习之策略模式

阅读更多

1.名词解释:

策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的用户。在不同的时间或条件应用不同的业务规则时,可以考虑使用策略模式;

 

2.代码示例:

策略抽象类
package DesignPattern.StrategyPattern;

public abstract class Strategy {

	public abstract void Execute();
}

 

具体策略类A
package DesignPattern.StrategyPattern;

public class ConcreateStrategyA extends Strategy{

	@Override
	public void Execute() {
		//代码逻辑
		System.out.println("ConcreateStrategyA.execute is process...");
	}

}

 

具体策略类B
package DesignPattern.StrategyPattern;

public class ConcreateStrategyB extends Strategy{

	@Override
	public void Execute() {
		// TODO Auto-generated method stub
		System.out.println("ConcreateStratetyB.execute is process...");
	}

}

 

package DesignPattern.StrategyPattern;

public class Context {

	private Strategy strategy = null;
	
	public Context(Strategy strategy) {
		this.strategy = strategy;
	}
	
	public void ContextInterface() {
		strategy.Execute();
	}
}

 

主控程序类:
package DesignPattern.StrategyPattern;

public class Client {

	public static void main(String[] args) {
		Strategy a = new ConcreateStrategyA();	
		Strategy b = new ConcreateStrategyB();
		Context c1 = new Context(a);
		Context c2 = new Context(b);
		c1.ContextInterface(); 
		c2.ContextInterface();
	}
   
}

 

分享到:
评论

相关推荐

    设计模式C++学习之策略模式(Strategy)

    设计模式C++学习之策略模式(Strategy)

    java设计模式学习之策略模式

    主要为大家详细介绍了java设计模式学习之策略模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    设计模式之策略模式 鸭子问题

    这是策略模式中的一个经典实例,通过鸭子问题,能让学习者更好的了解设计模式,这也是headfirst 设计模式中用的经典实例

    Java 经典设计模式讲解以及项目实战

    3 策略模式 4 模板方法模式 5 工厂方法模式 6 抽象工厂模式 7 建造者模式 8 代理模式 9 装饰模式 10 原型模式 11 委派模式 12 适配器模式 设计模式综合运用 1 门面+模版方法+责任链+策略 2 门面+模版方法+责任链+...

    javascript设计模式之策略模式学习笔记.docx

    javascript设计模式之策略模式学习笔记.docx

    设计模式之策略模式

    设计模式之策略模式学习代码 文章:http://blog.csdn.net/hailushijie/article/details/8611418 我是linux系统,下载后不能正常解压缩告诉我。

    设计模式之策略(Strategy)模式

    这份文档讲诉了设计模式之策略(Strategy)模式,希望可以帮助学习的人!

    常用设计模式学习脑图

    常用设计模式脑图,脑图中根据每个设计模式进行了详细的备注解释!我们的最强大脑在哪里?在这里!(单例模式、原型模式、工厂模式、代理模式、策略模式、适配器模式、委派模式、装饰器模式、观察者模式)

    尚硅谷设计模式源码笔记课件.zip

    2) 设计模式包含了大量的编程思想,讲授和真正掌握并不容易,网上的设计模式课程不少,大多讲解的比较晦涩,没有真实的应用场景和框架源码支撑,学习后,只知其形,不知其神。就会造成这样结果: 知道各种设计模式,...

    设计模式全套学习ppt

    设计模式全套学习ppt 能学到什么:①工厂模式、策略模式、观察者模式等都是怎么在Spring中体现的;②IOC、AOP、代理、

    HeadFirst 设计模式学习笔记1--策略模式Demo

    http://blog.csdn.net/laszloyu/archive/2010/05/11/5579765.aspx 示例代码

    研磨设计模式(完整带书签).part2.pdf

    也可以作为高效学生深入学习设计模式的参考读物! 第1章 设计模式基础 第2章 简单工厂 第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章...

    java后端开发+java23种设计模式学习demo

    里面包含常规算法学习demo; 设计模式的分类 ...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    php设计模式-策略模式-例题学习

    NULL 博文链接:https://xieye.iteye.com/blog/1070202

    设计模式精解 译者:熊节 程序员必看书籍之一 part2

    本书适用于学习面向中对象设计和设计模式的学生、程序员以及从事软件开发的人士。 本书要点包括: 对象、封装和继承的新观点。 设计模式的思想、起源及其在软件设计学科中的应用。 模式基础以及使用统一建模语言...

    设计模式学习使用的简单Demo

    设计模式学习中的几个简单Demo,包括适配器模式、装饰者模式、观察者模式、单件模式、策略模式;除了上述几种模式外,还包括Java反射机制学习的Demo

    设计模式可复用面向对象软件的基础.zip

    2.3.3 策略模式 29 2.4 修饰用户界面 29 2.4.1 透明围栏 29 2.4.2 Monoglyph 30 2.4.3 Decorator 模式 32 2.5 支持多种视感标准 32 2.5.1 对象创建的抽象 32 2.5.2 工厂类和产品类 33 2.5.3 Abstract Factory模式 35...

    设计模式 GOF 23

    2.3.3 策略模式 29 2.4 修饰用户界面 29 2.4.1 透明围栏 29 2.4.2 Monoglyph 30 2.4.3 Decorator 模式 32 2.5 支持多种视感标准 32 2.5.1 对象创建的抽象 32 2.5.2 工厂类和产品类 33 2.5.3 Abstract Factory模式 35...

    设计模式--C++

    2.3.3 策略模式 29 2.4 修饰用户界面 29 2.4.1 透明围栏 29 2.4.2 Monoglyph 30 2.4.3 Decorator 模式 32 2.5 支持多种视感标准 32 2.5.1 对象创建的抽象 32 2.5.2 工厂类和产品类 33 2.5.3 Abstract Factory 模式 ...

    设计模式:可复用面向对象软件的基础--详细书签版

    2.3.3 策略模式 29 2.4 修饰用户界面 29 2.4.1 透明围栏 29 2.4.2 monoglyph 30 2.4.3 decorator 模式 32 2.5 支持多种视感标准 32 2.5.1 对象创建的抽象 32 2.5.2 工厂类和产品类 33 2.5.3 abstract ...

Global site tag (gtag.js) - Google Analytics