【ThinkingInJava】10、完全解耦,策略设计模式
2015-04-17 15:50
453 查看
/** * 书本:《Thinking In Java》 * 功能:完全解耦,策略设计模式 * 这里apply.process()方法可以接受任何类型的processor,并将其应用到一个Object对象上,然后打印结果 * 文件:Apply.java * 时间:2015年4月2日16:50:55 * 作者:cutter_point */ package Lesson9Interfaces.classprocessor; import static net.mindview.util.Print.*; import java.util.Arrays; class Processor { public String name() { return this.getClass().getSimpleName(); } Object process(Object input) { return input; } } class Upcase extends Processor { String process(Object input) { 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) { print("Using Processor" + p.name()); print(p.process(s)); } public static String s = "I like China, I`m Chinese, I can!"; public static void main(String [] args) { Processor p = new Processor(); System.out.println(p.name()); process(new Upcase(), s); process(new Downcase(), s); process(new Splitter(), s); } }
结果:
Processor
Using ProcessorUpcase obj1
I LIKE CHINA, I`M CHINESE, I CAN! obj1
Using ProcessorDowncase obj1
i like china, i`m chinese, i can! obj1
Using ProcessorSplitter obj1
[I, like, China,, I`m, Chinese,, I, can!] obj1
相关文章推荐
- 【ThinkingInJava】12、完全解耦,策略设计模式(2)
- 策略设计模式,适配器设计模式,以及完全解耦
- Java设计模式之策略设计模式
- java设计模式——策略模式
- Java设计模式(10)代理模式(Proxy模式)
- java设计模式之——策略模式
- java 策略模式 完全展现面向接口编程的经典样例
- Java/Android 设计模式系列(17)--策略模式
- Java设计模式之--策略模式(strategy)
- 设计模式--行为模式--策略模式--Java
- 设计模式-简单工厂设计模式与策略模式之java实现二
- Java设计模式----策略模式
- java设计模式10:Flyweight
- java设计模式之策略模式
- Java设计模式 - 桥接模式与策略模式的区别
- Java设计模式1:策略模式
- Java设计模式之策略模式
- JAVA设计模式(策略模式)
- Java设计模式 - 策略模式
- Java设计模式透析--策略模式(一)