私たちは、BLLとDALで構成されるモデルを持つMVCアーキテクチャを使用します。デザイン - 依存性地獄ソリューション?
私たちは私たちのシステムのための "モジュール"を開発しています。私が実装している特定のモジュールは、同じ依存関係の多くを利用しています。あるクラスは特に20の依存関係を持っています。現在デフォルトのコンストラクタは既定の具象実装を作成しており、最初のコンストラクタもあります。最初のコンストラクタは独自の依存関係(つまりテスト用)を注入できるようにします。
コンストラクタ引数はかなり厄介なようですコード臭。 もう1つの厄介な点は、共通の機能を追加し始めたときに、同じクラスのコードを何度も何度も繰り返しているすべてのクラスにコンストラクタコードとフィールドを追加する必要があることです。
IoCコンテナはこれに対する自然な解決策のようですが、問題はどれくらいですか? DAL依存関係とBLL依存関係は含めることができますか? "ヘルパー"や "サービス"の依存関係はどうですか?ある時点で、静的なクラスのようなクラスを参照する能力を持つ「名前空間」構造を作り直しているところで、私は実際に何を得ているのか疑問に思っています。
私はこれを考えて問題を抱えています。誰もエレガントなソリューションやアドバイスを持っていますか?
「これで考えるのが難しい」このチュートリアルを確認してください:https://github.com/ninject/ninject/wiki –
接線関連:ここでは、クラスが取る依存関係の数を減らすための別の質問について書いた答えがあります。 http://stackoverflow.com/questions/5601920/what-are-your-best-practices-when-using-an-mvc-based-web-framework/5602212#5602212 – Domenic