そんな風にビジターパターンを作りたい
public interface Visitable<T>{
public void accept(T visitor);
}
public interface SomeBusinessService implements Visitable<SomeVisitor>{
public void mtd1();
public void mtd2();
}
public abstract class SomeBusinessBean1 implements SomeBusinessService {
public void mtd1(){}
public void mtd2(){}
}
public abstract class SomeBusinessBean2 implements SomeBusinessService {
...
}
等々
それから私は工場を作りたいです
public class SomeBusinessServiceFactory {
public SomeBusinessService createService
(Class<? extends SomeBusinessService> clazz ){
//do some stuff to create appropriate class derivation on the fly
// that will have accept() method implemented
}
}
次の方法で呼び出すことができます
SomeBusinessService service =
SomeBusinessServiceFactory.createService(SomeBusinessBean1.class);
このアプローチでは、Visitor インターフェイスの accept() メソッドを実装するすべての Bean に対してコマンド抽象クラスを作成する必要はありません。
このソリューションは、クラス階層ごとのサービス ファクトリに応じて、特定のメソッドに共通の動作を持たせたい場合にも使用できます。
標準のjdkでそれを行う方法はありますか、それともcglibなどの外部ツールを使用する必要があるのでしょうか、それとも私が言っていることはゴミであり、他の方法でその目標を達成することができます.
高度な送信