StructureMap (IOC/DI コンテナー フレームワーク) を多用する大規模なプロジェクトを理解しようとしています。すべての共有コンポーネントのインターフェイスは、他のすべてのプロジェクトによって参照される単一のプロジェクトに含まれています。
依存関係の階層を構築しようとすると、どのプロジェクトが他のプロジェクトに依存しているかを検出するのが非常に難しいことがわかりました。これは、直接のプロジェクト参照がなく、インターフェイス プロジェクトへの参照が 1 つしかないためです。
どうすれば階層ツリーを構築できますか? 逆に、すべてのインターフェースを 1 つのスーパー プロジェクトのグッド プラクティスに集中させるか、それともむしろ「通常」である必要があります。つまり、すべてのプロジェクトには独自のパブリック インターフェース (およびそれを実装する定義済みの具象クラス) が含まれます。これにより、参照プロジェクトに従うだけで簡単に階層を構築することもできます。