0

configuration.xml をロードしている ANT のようなユーティリティを作成しようとしています ( ant build.xml に似ています)。この configuration.xml には、ターゲットの属性とプロパティに基づいて実行する必要があるさまざまな「ターゲット」タグがあります。各ターゲットには「依存」ターゲットがあり、呼び出し元のターゲットを実行する前に実行する必要があります

そのような処理に最適なデータ構造はどれですか?

現在、スタックと一緒に HASHMAP を使用しています。SAX パーサーで configuration.xml を読み取り、各ターゲットをオブジェクトとして読み込みます (すべてのプロパティと依存関係を HASHMAP に含めます)。

この Hashmap は反復処理され、依存関係はスタックに保持されます。スタックが構築されると、ポップされ、各ターゲットが実行されます。

これは最適なソリューションですか、それともより良いデータ構造ですか?

4

1 に答える 1

0

1 つの方法は、XSLT 変換を使用して、動的に実行される ANT ファイルを生成することです。次の例は、原理を示しています。

しかし、より良いアプローチは、groovy のような動的スクリプト言語を使用して、アプリケーション用のカスタム DSL 言語を作成することです。

于 2013-06-05T21:29:07.310 に答える