原来的代码是这样的:
[java]
package main.java;
/**
* <一句话功能简述>
* <功能详细描述>
*
* @author cKF54238
* @version [版本号, Apr 1, 2013]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public interface BusinessTrans
{
void doIt();
}
package main.java;
/**
* <一句话功能简述>
* <功能详细描述>
*
* @author cKF54238
* @version [版本号, Apr 1, 2013]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public interface BusinessTrans
{
void doIt();
}
[java]
package main.java.impl;
import main.java.BusinessTrans;
/**
* <一句话功能简述>
* <功能详细描述>
*
* @author cKF54238
* @version [版本号, Apr 1, 2013]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class BusinessTransImpl implements BusinessTrans
{
/**
* 需求:希望在执行这个方法前,做一个Id鉴权
* @param name
*/
public void doIt()
{
System.out.println("excute immediatly");
}
}
package main.java.impl;
import main.java.BusinessTrans;
/**
* <一句话功能简述>
* <功能详细描述>
*
* @author cKF54238
* @version [版本号, Apr 1, 2013]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class BusinessTransImpl implements BusinessTrans
{
/**
* 需求:希望在执行这个方法前,做一个Id鉴权
* @param name
*/
public void doIt()
{
System.out.println("excute immediatly");
}
}
这样只要在原来代码实现中加上鉴权的方法就行了。
[java]
package main.java.impl;
import main.java.BusinessTrans;
/**
* <一句话功能简述>
* <功能详细描述>
*
* @author cKF54238
* @version [版本号, Apr 1, 2013]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class BusinessTransImpl implements BusinessTrans
{
/**
* 需求:希望在执行这个方法前,做一个Id鉴权
* @param name
*/
public void doIt()
{
if (haveNoPopedom())
{
return;
}
System.out.println("excute immediatly");
}
private boolean haveNoPopedom()
{
return false;
}
}
package main.java.impl;
import main.java.BusinessTrans;
/**
* <一句话功能简述>
* <功能详细描述>
*
* @author cKF54238
* @version [版本号, Apr 1, 2013]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class BusinessTransImpl implements BusinessTrans
{
/**
* 需求:希望在执行这个方法前,做一个Id鉴权
* @param name
*/
public void doIt()
{
if (haveNoPopedom())
{
return;
}
System.out.println("excute immediatly");
}
private boolean haveNoPopedom()
{
return false;
}
}
[java]
package main.java.impl;
import main.java.BusinessTrans;
import main.java.logger.Level;
import main.java.logger.Logger;
/**
* <一句话功能简述>
* <功能详细描述>
*
* @author cKF54238
* @version [版本号, Apr 1, 2013]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class BusinessTransProxy implements BusinessTrans
{
private BusinessTrans businessTrans;
public BusinessTransProxy(BusinessTrans businessTrans)
{
this.businessTrans = businessTrans;
}
public void doIt()
{
Logger.logging(Level.INFO, "before excute doIt");
businessTrans.doIt();
Logger.logging(Level.INFO, "after excute doIt");
}
}
package main.java.impl;
import main.java.BusinessTrans;
import main.java.logger.Level;
import main.java.logger.Logger;
/**
* <一句话功能简述>
* <功能详细描述>
*
* @author cKF54238
* @version [版本号, Apr 1, 2013]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class BusinessTransProxy implements BusinessTrans
{
private BusinessTrans businessTrans;
public BusinessTransProxy(BusinessTrans businessTrans)
{
this.businessTrans = businessTrans;
}
public void doIt()
{
L