1

子クラスが必要とするという理由だけで、親クラスやその親などに依存関係を追加する必要がある場合があることに気付きました。これはコードの匂いですか?子クラスが必要とするという理由だけで親クラスが情報を必要とするのは合理的ですか?

特に、DDD の [やや貧弱な] フレーバーでは、これはアプリケーション サービス (ドメイン境界) がアプリケーション層からの情報をドメイン サービスに渡す必要がある場合に発生するようです。ドメイン サービスに新しい依存関係が必要な場合に、特定のドメイン サービスと関連するすべてのテストを呼び出すアプリ サービスに依存関係を追加するのは非常に困難です。

4

2 に答える 2

2

はい、匂いです。子クラスに依存関係が必要な場合は、依存関係を子クラスに直接注入します。そして、親クラスに子についてのみ知らせる (依存する) ようにします。

ところで、あなたの場合、依存関係がドメイン サービスに渡されていると確信していますか? 依存関係は、依存オブジェクトがその機能を果たすために必要とする特定のサービスです。あなたの場合、単純なデータがドメイン サービスに渡されるようです。

于 2012-11-05T19:34:48.293 に答える
2

はい、それはデザインの匂いです。型は、必要最小限の依存関係のみを取得する必要があります。他の依存関係を必要とするサービスが必要な場合は、サービスを使用するタイプではなく、それらの依存関係をサービスに注入する必要があります。

IoC コンテナーを使用している場合は、これらの依存関係チェーンが処理されます。実行時に型の新しいインスタンスをインスタンス化する必要がある場合は、ファクトリ型を注入する必要があります。

于 2012-11-05T19:38:03.480 に答える