策略模式:创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,称为策略模式;这类方法包含所要执行的算法中固定不变的部分,而“策略”包含变化的部分。策略就是传递进去的参数对象,它包含要执行的代码。
/*
* a simple example about Strategy model
* quote from thinking in java 5th page175
*/
package com.thinking.useinterface;
import java.util.Arrays;
class Processor {
public String name() {
return getClass().getSimpleName();
}
Object process(Object input) {
return input;
}
}
class Upcase extends Processor {
String process(Object input) { //convariant return
return ((String)input).toUpperCase();
}
}
class DownCase extends Processor {
String process(Object input) { //
return ((String)input).toLowerCase();
}
}
class Splitter extends Processor {
String process(Object input) {
return Arrays.toString(((String)input).split(" "));
}
}
public class Apply {
public static void process(Processor p, Object s)
{
System.out.println(" Using Processor " + p.name());
System.out.println(p.process(s));
}
public static String s = "Disagreement with beliefs is by definition incorrect";
public static void main(String[] args) {
process(new Upcase(), s);
process(new DownCase(), s);
process(new Splitter(), s);
}
}
分享到:
相关推荐
策略模式的简单例子,根据《Head First设计模式》中第一章中的Duck编写
java 策略模式的简单小例子,可以帮助了解策略模式的使用
java策略模式的小例子,学习java策略模式的简单例子,代码虽然简单不错很容易明白
自己编写的一个策略模式的简单例子,可以用于学习参考,同时本例子中还使用了泛型。导入到Eclipse中直接可以运行。同时此文件夹中还有一个关于策略模式的PPT,是张龙老师编写的,很不错! 我还写了一篇博文是和本...
策略模式简单实例,只用于做简单介绍演示; 策略模式简单实例,只用于做简单介绍演示。
PHP设计模式实例之(观察者模式、策略模式、简单工厂模式)借鉴.pdf
策略模式是一种行为模式 。用于某一个具体的项目有多个可供选择的算法策略,客户端在其运行时根据不同需求决定使用某一具体算法策略。 策略模式也被称作政策模式。实现过程为,首先定义不同的算法策略,然后客户端...
用简单的描述让你理解策略模式的概念 用生动的比喻让你看到它的精髓,附带案例
后端同学在开发过程中...这里给出策略模式的例子,以汉堡打折为原型设计,存在优惠券、买一送一、打折、免费等场景的时候,该如何精简代码? 对比枚举策略与简单工厂+策略模式的不同使用,抛砖引玉,引发你更多的思考
java策略模式示例代码,用于初学者学习使用,示例简单易懂
策略模式思想简单实现,初学者可看看。 设计模式 策略模式 Strategy
策略者的模式简单,易懂,可以到我官方博客,看例子的详细介绍,我的博客:http://blog.csdn.net/baozhiyao234/archive/2010/07/17/5742676.aspx
应用:通过一个简单的例子,描述学生给玩游戏和看电影的学生把风,如果看见老师来了,则通知玩游戏和看电影的学生老师来了,该学习了,老师没看见玩游戏和看电影的学生做小动作。如果没看见老师,则玩游戏和看电影的...
//实现一个简单的计算器 interface MathOp{ public function calculation($num1,$num2); } //加法 class MathAdd implements MathOp{ public function calculation($num1,$num2){ return $num1 + $num2; } } //...
23种设计模式之策略模式对策略模式进行了简单的介绍,并附带了例子程序,和大家分享
主要介绍了C#策略模式(Strategy Pattern),以一个简单的实例讲述了C#策略模式的实现方法,包括策略模式的用途以及具体实现方法,需要的朋友可以参考下
本系统使用了简单工厂模式、工厂方法模式、单例模式、门面模式、策略模式、观察者模式一共6种模式实现了从鲜花店订购订购鲜花的这样一个系统。
主要介绍了PHP实现的策略模式,结合简单实例形式分析了策略模式的原理与实现方法,需要的朋友可以参考下
1. 策略模式 2. 代理模式 3. 单例模式 4. 多例模式
策略模式是一种常见的软件设计模式,这里简单得介绍一下策略模式并用IOS简单实现一下。 所谓的策略模式,顾名思义是要采用不同的策略的。一般来说,在不同的情况下,处理某一个问题的方法也不一样。比如说对字符串...