1

このような 1 つのコマンド インターフェイスがあります。

public interface ICommand{
     public abstract Object execute(List<Inputs> inputs);
}

今、私は他のタイプの複雑な実行のためのコマンドを持っているので、新しいコマンド インターフェイスを思いつきました

public interface IComplexCommand {
  public abstract Object execute(ComplexObjects obj);
}

CommandFactory の静的初期化ブロック内で実行されるプロパティ ファイルからコマンドを呼び出します。Invoke する私の Factory メソッドは次のようになります。

ICommand cmd= CommandFactory.getInstance().getCommand("LoopElements");
// loopElements is the key in properties file to load my com.test.my.LoopElements
// to call execute of IComplex command it will not work because I have to typecase
// this I want to avoid.

コマンドを取得したときに、インターフェイスに応じてコマンドを型変換したくないが、実行時に理解してもらいたいというような問題があります。

誰でもこれをより良く設計するのを手伝ってくれませんか。グーグルで検索してみましたが、質問が非常に具体的であるため、適切な回答を得ることができませんでした。

4

2 に答える 2