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