《JAVA与模式》第20天―责任链模式 (三)

2014-11-24 08:31:57 · 作者: · 浏览: 3
fee);
}
}
return str;
}

}
package com.bankht.ChainOfResponsibility.apply;

/**
* @author: 特种兵—AK47
* @创建时间:2012-6-29 下午02:13:10
*
* @类说明 :具体处理者角色
*/
public class ProjectManager extends Handler {

@Override
public String handleFeeRequest(String user, double fee) {

String str = "";
// 项目经理权限比较小,只能在500以内
if (fee < 500) {
// 为了测试,简单点,只同意张三的请求
if ("张三".equals(user)) {
str = "成功:项目经理同意【" + user + "】的聚餐费用,金额为" + fee + "元";
} else {
// 其他人一律不同意
str = "失败:项目经理不同意【" + user + "】的聚餐费用,金额为" + fee + "元";
}
} else {
// 超过500,继续传递给级别更高的人处理
if (getSuccessor() != null) {
return getSuccessor().handleFeeRequest(user, fee);
}
}
return str;
}

}

[java]
package com.bankht.ChainOfResponsibility.apply;

/**
* @author: 特种兵—AK47
* @创建时间:2012-6-29 下午02:13:34
*
* @类说明 :
*/
public class DeptManager extends Handler {

@Override
public String handleFeeRequest(String user, double fee) {

String str = "";
// 部门经理的权限只能在1000以内
if (fee < 1000) {
// 为了测试,简单点,只同意张三的请求
if ("张三".equals(user)) {
str = "成功:部门经理同意【" + user + "】的聚餐费用,金额为" + fee + "元";
} else {
// 其他人一律不同意
str = "失败:部门经理不同意【" + user + "】的聚餐费用,金额为" + fee + "元";
}
} else {
// 超过1000,继续传递给级别更高的人处理
if (getSuccessor() != null) {
return getSuccessor().handleFeeRequest(user, fee);
}
}
return str;
}

}
package com.bankht.ChainOfResponsibility.apply;

/**
* @author: 特种兵—AK47
* @创建时间:2012-6-29 下午02:13:34
*
* @类说明 :
*/
public class DeptManager extends Handler {

@Override
public String handleFeeRequest(String user, double fee) {

String str = "";
// 部门经理的权限只能在1000以内
if (fee < 1000) {
// 为了测试,简单点,只同意张三的请求
if ("张三".equals(user)) {
str = "成功:部门经理同意【" + user + "】的聚餐费用,金额为" + fee + "元";
} else {
// 其他人一律不同意
str = "失败:部门经理不同意【" + user + "】的聚餐费用,金额为" + fee + "元";
}
} else {
// 超过1000,继续传递给级别更高的人处理
if (getSuccessor() != null) {
return getSuccessor().handleFeeRequest(user, fee);
}
}
return str;
}

}

[java]
package com.bankht.ChainOfResponsibility.apply;

/**
* @author: 特种兵—AK47
* @创建时间:2012-6-29 下午02:14:08
*
* @类说明 :
*/
public class GeneralManager extends Handler {

@Override
public String handleFeeRequest(String user, double fee) {

String str = "";
// 总经理的权限很大,只要请求到了这里,他都可以处理
if (fee >= 1000) {
// 为了测试,简单点,只同意张三的请求
if ("张三".equals(user)) {
str = "成功:总经理同意【" + user + "】的聚餐费用,金额为" + fee + "元";
} else {
// 其他人一律不同意
str = "失败:总经理不同意【" + user + "】的聚餐费用,金额为" + fee + "元";
}
} else {
// 如果还有后继的处理对象,继续传递
if (getSuccessor() != null) {
return getSuccessor().handleFeeRequest(user, fee);
}
}
return str;
}

}
package com.bankht.ChainOfResponsibility.apply;

/**
* @author: 特种兵—AK47
* @创建时间:2012-6-29 下午02:14:08
*
* @类说明 :
*/
public class GeneralManager extends Handler {

@Override
public String handleFeeRequest(String user, double fee) {

String str = "";
// 总经理的权限很大,只要请求到了这里,他都可以处理
if (fee >= 1000) {
// 为了测试,简单点,只同意张三的请求
if ("张三".equals(user)) {
str = "成功:总经理同意【" + user + "】的聚餐费