一個(gè)來自《Thinking in Java》的一個(gè)例子侮穿,簡單鋪一下沙绝,不做過多的解釋,有基礎(chǔ)的人可以看看肛响,一個(gè)短小精悍的設(shè)計(jì)模式。
新建一個(gè)父類:
public class Processor {
public String name() {
return getClass().getName();
}
Object process(Object input) {
return input;
}
}
三個(gè)子類:
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、變成數(shù)組
import java.util.Arrays;
public class Splitter extends Processor {
String process (Object input){
return Arrays.toString(((String)input).split(" "));
}
}
運(yùn)行類:
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);
}
}
好了门扇,就是這么簡單。我是有點(diǎn)不懂為什么叫策略設(shè)計(jì)模式偿渡,如果有人看到我的話臼寄,又剛好會(huì),望指教溜宽。