初步想法是这样的:
public class A{
String name;
IBehavior behavior;
public doA(){
behavior.doA(this.name);//委托给行为类
}
public doB(){
behavior.doB(this.name);
}
}
public interface IBehavior{
public doA(String aparam);
public doB(String aparam);
}
public abstract class AbstractBehavior implements IBehavior{
// 默认实现
}
自己通过extends AbstractBehavior 类或者implements IBehavior 也可以实现自己特定的要求再通过spring的IOC把依赖关系注入,通过改变这个注入的类可以改变类A的行为
调用就需要:context.getBean("a").doA();
不过现在觉得现在这样的实现有种画蛇添足的感觉!
不知道大家对方法的注入有什么想法?不知道能否直接实现方法的注入而不是通过这这样的间接的方式!
PS:我看Jdonframework对于struts 中的几个saveAction,updateAction等的处理好像就是通过配置来实现方法的委托的,好像这个也可以说是方法的注入吧。
[该贴被pliaozrlp于2009-06-18 16:39修改过]