您的位置:首页 > 编程语言 > Java开发

java的设计模式之二

2016-08-19 11:39 204 查看
策略模式

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

package org.sp.strategy;

/**
* 加法具体策略类
* @author
*
*/
public class Addition extends Operation {

@Override
public float parameter(float a, float b) {
return a+b;
}

}

package org.sp.strategy;

/**
* 除法具体策略类
* @author
*
*/
public class Division extends Operation {

@Override
public float parameter(float a, float b) {
return a/b;
}

}

package org.sp.strategy;

/**
* 乘法具体策略类
* @author
*
*/
public class Multiplication extends Operation{

@Override
public float parameter(float a, float b) {
return a*b;
}

}

package org.sp.strategy;

/**
* 减法具体策略类
* @author
*
*/
public class Subtration extends Operation {

@Override
public 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));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式