java的设计模式之二

来源:互联网 发布:北京学java最好的学校 编辑:程序博客网 时间:2024/05/16 07:39

策略模式

这个模式是将行为的抽象,即当有几个类有相似的方法,将其中通用的部分都提取出来,从而使扩展更容易。

package org.sp.strategy;/*** 加法具体策略类* @author **/public class Addition extends Operation {@Overridepublic float parameter(float a, float b) {   return a+b;}}package org.sp.strategy;/*** 除法具体策略类* @author **/public class Division extends Operation {@Overridepublic float parameter(float a, float b) {   return a/b;}}package org.sp.strategy;/*** 乘法具体策略类* @author **/public class Multiplication extends Operation{@Overridepublic float parameter(float a, float b) {   return a*b;}} package org.sp.strategy;/*** 减法具体策略类* @author **/public class Subtration extends Operation {@Overridepublic float parameter(float a, float b) {   return a-b;}} package org.sp.strategy;/*** 抽象策略类也可以使用接口来代替* @author **/public abstract class Operation {public abstract float parameter(float a, float b);}package org.sp.strategy;/*** 策略环境类 * @author **/public class Condition {public static final Addition add = new Addition();public static final Subtration sub = new Subtration();public static final Multiplication mul = new Multiplication();public static final Division div = new Division();}package org.sp.strategy;/*** 测试客户端* @author **/public class Client {public static void main(String[] args) {   float a = 100;   float b = 25;     System.out.println(Condition.div.parameter(a, b));}}


0 0
原创粉丝点击