0

パイプラインに一連の責任設計パターンを使用しています。私が発見した問題の 1 つは、チェーンを追加するにつれて、構成オブジェクトがどんどん大きくなることです。基本的に、私の構成オブジェクトは巨大なシングルトンになっています。この状況を処理する効果的な方法はありますか?

詳細:

私の現在のセットアップは

handler.next = handler2
handler2.next = handler3
...

構成オブジェクトをチェーンに渡すことでチェーンを使用します。

handler.HandleRequest(config)

構成オブジェクトには、ハンドラーに必要なすべての構成情報が含まれているため、チェーンを追加すると、ますます大きくなります。

考えられる解決策:

この投稿での最良の答えは、依存性注入を使用することです。

構成設定の問題に適用できる設計パターンはどれですか?

ただし、設計を大幅に変更せずに、一連の責任設計で依存性注入を使用する方法がわかりません。

誰かがこの問題について私を助けてくれますか? ありがとう!

4

1 に答える 1

0

あなたは本当に一緒に属していないことを一緒にやろうとしていると思います。

アプリケーションのさまざまな部分の設定/構成値を抽出する必要がある場合、なぜそれらすべてを1か所で読み取ろうとするのですか?

ある種の設定が必要なコンポーネントごとに、小さな「設定オブジェクト」が好きです。私は通常、ハードコードされたすべてのデフォルト値を含むオブジェクトから開始し、必要に応じてその基本設定から派生します。派生オブジェクトは任意のソースから読み取ることができます(ほとんどの場合、app.configファイルですが、データベースとWebサービスも使用しました)。

これは、設定オブジェクトについて詳しく説明しているブログ投稿です。

于 2013-03-05T12:10:55.903 に答える