JAVA策略设计模式

一个来自《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);
}

}

   好了,就是这么简单。我是有点不懂为什么叫策略设计模式,如果有人看到我的话,又刚好会,望指教。

你可能感兴趣的:(JAVA策略设计模式)