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