策略模式的一个简单例子
程序员文章站
2022-05-23 18:52:05
...
策略模式:创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,称为策略模式;这类方法包含所要执行的算法中固定不变的部分,而“策略”包含变化的部分。策略就是传递进去的参数对象,它包含要执行的代码。
/* * a simple example about Strategy model * quote from thinking in java 5th page175 */ package com.thinking.useinterface; import java.util.Arrays; class Processor { public String name() { return getClass().getSimpleName(); } Object process(Object input) { return input; } } class Upcase extends Processor { String process(Object input) { //convariant return 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) { System.out.println(" Using Processor " + p.name()); System.out.println(p.process(s)); } public static String s = "Disagreement with beliefs is by definition incorrect"; public static void main(String[] args) { process(new Upcase(), s); process(new DownCase(), s); process(new Splitter(), s); } }
上一篇: java.lang.*Error
下一篇: 写在人生的第二十五个年头