一个来自《Thinking in Java》的一个例子,简单铺一下,不做过多的解释,有基础的人可以看看,一个短小精悍的设计模式。
新建一个父类:
public class Processor {
public String name() {
return getClass().getName();
}
Object process(Object input) {
return input;
}
}
三个子类:
1、变成大写
public class Upcase extends Processor {
String process (Object input) {
return ((String)input).toUpperCase();
}
}
2、变成小写
public class Downcase extends Processor {
String process(Object input){
return ((String)input).toLowerCase();
}
}
3、变成数组
import java.util.Arrays;
public class Splitter extends Processor {
String process (Object input){
return Arrays.toString(((String)input).split(" "));
}
}
运行类:
public class Apply {
public static String s = "I'm a SUPERMAN,Woohoo!!";
public static void process(Processor p, Object s) {
System.out.println("Using processor " + p.name());
System.out.println(p.process(s));
}
public static void main(String[] args) {
process(new Upcase(), s);
process(new Downcase(), s);
process(new Splitter(), s);
}
}
好了,就是这么简单。我是有点不懂为什么叫策略设计模式,如果有人看到我的话,又刚好会,望指教。