0

コマンドパターンを使用して構築されたソフトウェアモジュールがあります。(コマンド プロセッサと呼ばれることもあります)

このプロセッサのコマンドは、外部の実行可能ファイル、ツール、サービスなどを呼び出すことによって実行されますこのために、呼び出されるツールまたはサービスの種類ごとにアダプターを使用しています。

問題は、コマンドオブジェクトの内容に応じて、単一のタイプのコマンド (異なる内容を持つ)が異なるタイプの外部実行可能ファイルを実行できることです。これには、異なるアダプターが必要になります。

つまり、コマンドの受信者/供給者(コマンドの実行の実装) は、コンテキストに応じてさまざまなタイプのアダプターを選択できます。

質問は、

a) アダプタとのマッピングが 1 対 1 になるように、1 つの汎用コマンド オブジェクトを複数のコマンド オブジェクトに分割する必要がありますか?

または、適切なアダプターを選択する機能がこのファサード (コマンドのレシーバー) に委任されるように、コマンド オブジェクトのレシーバー/サプライヤーの形式でファサードを配置する必要があります。

b)サプライヤ レベルで外部実行可能ファイルのインターフェイスにコマンド オブジェクト パラメータをマッピングする場合、「アダプタ パターン」という用語の使用は正しいですか?

4

1 に答える 1

1

を。Command複数のクラスを作成することに「いいえ」と言います。Command2 つの抽象化を混在させることになり、作成するクラスが多すぎる可能性があります。

b. この部分にはおそらくパターンでStrategyはなく使用するでしょう。Adapater新しいインターフェイスを作成しますExecutionStrategy。コマンド オブジェクトはExecutionStrategy. は、ExecutionStrategyによって作成 (または作成済みオブジェクトのプールから提供) できますFactory。はFactory、抽象 Command クラスの一部にすることも、別の ExecutionStrategyFactoryクラスにすることもできます。

于 2013-03-31T11:24:35.290 に答える