レイヤー図: リファレンス
Visual Studio Ultimate でレイヤー図を使用すると、システムの論理アーキテクチャを視覚化できます。 レイヤー図では、システム内の物理的な成果物がレイヤーと呼ばれる抽象的な論理グループに整理されます。 レイヤーは、そうした成果物によって実行されるタスクの種類を識別、説明、および区別するのに役立ちます。 また、成果物の個々のグループによって実行される細かい具体的なタスクを示すレイヤーをサブレイヤーとして各レイヤーに追加することもできます。
特定のレイヤー間の必要とされる依存関係または既存の依存関係を表示できます。 こうした依存関係から、他のレイヤーの機能を使用できるレイヤーまたは現在使用しているレイヤーがわかります。 システムを個別のロールおよび機能を示すレイヤーに分けて整理したレイヤー図を使用すると、コードを簡単に理解、再利用、および保守できるようになります。
レイヤー図は、次のタスクを実行するために使用します。
システムの既存の論理アーキテクチャまたは必要とされる論理アーキテクチャを伝達する。
既存のコードと必要とされるアーキテクチャの競合を見つける。
システムのリファクタリング、更新、または展開によって必要とされるアーキテクチャにもたらされる変更の影響を視覚化する。
チェックイン操作とビルド操作による検証を追加して、必要とされるアーキテクチャをコードの開発中および保守中に補強する。
このトピックでは、レイヤー図で使用できる要素について説明します。 レイヤー図を生成および描画する方法の詳細については、「レイヤー図: ガイドライン」を参照してください。 レイヤー パターンの詳細については、patterns & practices のサイト (https://go.microsoft.com/fwlink/?LinkId=145794) を参照してください。
レイヤー図の解説
レイヤー図で使用できる要素を次の表に示します。
形状 |
要素 |
説明 |
---|---|---|
1 |
レイヤー |
システム内の物理的な成果物の論理グループ。 このような成果物には、名前空間、プロジェクト、クラス、メソッドなどがあります。 レイヤーにリンクされた成果物を表示するには、レイヤーを右クリックし、[リンクの表示] をクリックしてレイヤー エクスプローラーを開きます。 詳細については、「レイヤー エクスプローラー」を参照してください。
|
2 |
依存関係 |
あるレイヤーが別のレイヤーの機能を使用することはできても、その逆はできないことを示します。
|
3 |
双方向の依存関係 |
あるレイヤーが別のレイヤーの機能を使用でき、その逆もできることを示します。
|
4 |
コメント |
全般的なノートを図または図の要素に追加するために使用します。 |
5 |
コメント リンク |
コメントを図の要素にリンクするために使用します。 |
レイヤー エクスプローラー
各レイヤーをソリューション内の成果物 (たとえば、プロジェクト、クラス、名前空間、プロジェクト ファイル、およびソフトウェアのその他のパート) にリンクすることができます。 レイヤーの数字は、レイヤーにリンクされている成果物の数を示します。 ただし、レイヤーの成果物の数を読み取るときには、次の点に注意してください。
1 つのレイヤーが他の成果物を含む 1 つの成果物にリンクされているが、他の成果物に直接リンクされていない場合、その数字にはリンクされた成果物のみが含まれます。 ただし、レイヤー検証時の分析にはそれらの他の成果物も含まれます。
たとえば、1 つのレイヤーが 1 つの名前空間にリンクされている場合、その名前空間に複数のクラスが含まれていても、リンクされた成果物の数は 1 です。 レイヤーに名前空間の各クラスへのリンクもある場合、その数字にはリンクされたクラスが含まれます。
1 つのレイヤーに成果物にリンクされた他のレイヤーが含まれている場合は、そのコンテナー レイヤーの数字にそれらの成果物が含まれていなくても、コンテナー レイヤーはそれらの成果物にリンクされます。
レイヤーと成果物のリンクの詳細については、次のドキュメントを参照してください。
リンクされた成果物を確認するには
レイヤー図で 1 つ以上のレイヤーを右クリックし、[リンクの表示] をクリックします。
レイヤー エクスプローラーが開いて、選択したレイヤーにリンクされている成果物が表示されます。 レイヤー エクスプローラーには、成果物のリンクの各プロパティを表示する列があります。
注意
すべてのプロパティが表示されない場合は、レイヤー エクスプローラー ウィンドウを広げます。
レイヤー エクスプローラーの列
説明
[カテゴリ]
クラス、名前空間、ソース ファイルなどの成果物の種類
[レイヤー]
成果物にリンクしているレイヤー
[検証をサポート]
[True] の場合、レイヤーの検証プロセスで、プロジェクトがこの要素への依存関係またはこの要素からの依存関係と一致していることを検証できます。
[False] の場合、リンクはレイヤーの検証プロセスに含まれません。
詳細については、「レイヤー図: ガイドライン」を参照してください。
[識別子]
リンクされた成果物への参照