首页 > 代码库 > 设计模式学习
设计模式学习
1 策略设计模式
1 package thinkJava; 2 /* 3 * 策略设计模式 4 * 像本例一样,能够根据所传递的参数对象的不同而具有不同的行为的方法。 5 * Processor对象就是一个策略,有3中不同的策略应用到了String类型的对象上。 6 */ 7 import java.util.Arrays; 8 9 class Processor{10 public String name(){11 return getClass().getSimpleName();12 }13 Object process(Object input){14 return input;15 }16 }17 class Upcase extends Processor{18 String process(Object input){19 return ((String)input).toUpperCase();20 }21 }22 class Downcase extends Processor{23 String process(Object input){24 return ((String)input).toLowerCase();25 }26 }27 class Splitter extends Processor{28 String process(Object input){29 return Arrays.toString(((String)input).split(" "));30 }31 }32 public class Apply {33 34 public static void process(Processor p, Object s){35 System.out.println("Using Processor " + p.name());36 System.out.println(p.process(s));37 }38 public static String s = "Disagreemment with beliefs is by definition incorrect";39 public static void main(String[] args){40 process(new Upcase(), s);41 process(new Downcase(), s);42 process(new Splitter(), s);43 }44 45 }
运行结果
设计模式学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。