最近
、Mark Cliftonがソリューション内のプロジェクト間の依存関係を見つけることに専念し
た記事で CodeProjectに出会いまし
た 。 残念ながら、提示されたプログラムはグラフ自体を生成しなかったため、
Yevgeny KucherukのWindsorコンテナのコンテンツを視覚化する
アプローチに触発され、プロジェクト間の依存関係に同じ機能をすばやく実装することにしました。 実際、ここで何が起こったのか。
まず第一に、印象的な例が必要なので、さまざまなIoCフレームワークのプロジェクトがどのように見えるかを示すことにしました(以下の写真をクリックできます)。
ユニティ:
StructureMap:
NInject:
Autofac:
上記のグラフはプロジェクトファイルを分析して作成されたものであり、「外部」依存関係(ソリューション外の依存関係)は含まれていません。 それらは、.csprojファイルを解析することによって形成されます。 プロジェクトファイル。 さらに、すべての情報が個別の
Dictionary
で受信されると、.dot形式で記述し、
GraphVizを使用してレンダリングできます。
問題は-なぜこれが必要なのですか? IoCコンテナーが何に結び付けられているかの概要を取得するためにレンダリングするのに役立つように、通常、接続性のトピックに関する通常のソリューションを分析する必要があります。 たとえば、同じ
NDependを実行します。 また、時々、鳥瞰図からソリューション全体を見たい場合があり、私のツールはそれを行うのに役立ちます。
さて、試してみませんか? 「はい」の場合、
GraphVizをダウンロードしてから
ソースをダウンロードします。 インターフェイスはすべて明確なので、説明しません。とにかく、あなたは(私のように)あなたの目的に合わせてプログラムをカスタマイズするので、ドット形式のドキュメントを読むことをお勧めします。 頑張って
PS:特に美しいソリュシュナ伯爵を生み出した場合-以下に投稿してください。 事前に感謝します。