比如说一个类Service的doProcess方法,要调用processor1的validate方法.
现在想添加一个processor,doProcess 能调用到该processor的方法? Service如何能获知有新的processor添加
这样的实现有什么好的解决方法没有? doProcess(){
processor1.validate();
processor2.validate();
processor3.validate();//processor的个数是不限制的,可以添加
}
现在想添加一个processor,doProcess 能调用到该processor的方法? Service如何能获知有新的processor添加
这样的实现有什么好的解决方法没有? doProcess(){
processor1.validate();
processor2.validate();
processor3.validate();//processor的个数是不限制的,可以添加
}
Service维护一个processor列表,doProcess执行时遍历这个列表。processor向Service注册自己。可以考虑观察者模式。如果是编译时的话,可以用xml进行配置、或者用注解、或者processor实现特定接口。利用反射机制加载processor。相当于模拟spring这样的框架。具体用哪个得看你的业务了。