ダイアログ レイヤー図を使用して アプリケーションのアーキテクチャを設計し コードがデザインに合っているかを確認できます Team Foundation Server の作業項目をモデル要素にリンクする方法で モデルに関連付けられている作業を追跡できます ...

ダイアログ
レイヤー図を使用して、アプリケーションのアーキテクチャを設計し、コードがデザインに合っているかを確認できます。Team Foundation Server の作業項目をモデル要素にリンクする方法で、モデルに関連付けられている作業を追跡できます。これによって、新しいソリューションを設計しているか既存のソリューションを更新しているかにかかわらず、モデル、IDE、およびコード間の追跡可能性が提供されます。

まず、レイヤー図をレビューして、アプリケーションのアーキテクチャを確認します。

チームのアーキテクトは、レイヤー図のデザインに合致するように、このアプリケーションの一部をリファクタリングすることを提案しています。このタスクはバックログにあり、レイヤー図にリンクされています。



アクション
チーム エクスプローラーの担当作業の下で、タスクの作業項目をダブルクリックして開きます。 

作業項目で、[その他のリンク] をクリックします。

[モデル リンク] の下の [モデル リンク] をダブルクリックします。PetShopModels プロジェクトの Petshop.layerdiagram が開きます。

ダイアログ
レイヤー図には、名前空間の間で許可されている依存関係が表示され、それがレイヤーにマップされます。レイヤー図は、ホワイトボードに書いた図によく似ており、図形とそれらの関係が示されています。ソリューションにレイヤー図があると、意図したアーキテクチャを記述する以上のことを実行できます。レイヤー図と比較しながらコードを検証して、無効な依存関係が存在するかを調査できます。このステップをチェックインおよびビルド処理の一部に含めることによって、デザインと競合するコードの変更を、より簡単に発見できます。



アクション
[アーキテクチャ] メニューで、[ウィンドウ]、[レイヤー エクスプローラー] をクリックします。

レイヤー図で、ビジネス レイヤーをクリックします。レイヤー エクスプローラーの成果物を確認します。

レイヤー図で、ビジネス レイヤーを右クリックします。[アーキテクチャの検証] を選択します (この処理には少し時間がかかります)。

[エラー一覧] ウィンドウでエラーを探します (それぞれに赤い X でマークされています)。最初のエラーをダブルクリックし、このエラーが発生したコードを調べます。

ダイアログ
デザインと競合するコードで依存関係が見つかりました。Order クラスの Insert メソッドが、他の 2 つのクラスのメソッドに無効な呼び出しをしています。レイヤー図では、Insert メソッドはビジネス レイヤーにマップされていますが、それは他の 2 つのクラスのレイヤーと直接通信することはできません。ビジネス レイヤーは PaymentGateway レイヤーと通信する必要があります。

レイヤー検証でコードの問題点が示されたので、これらの競合を修正する際に、図を再検証して正しく処理されたことを確認する必要があります。



アクション
レイヤー図で、PaymentGateway レイヤーをクリックします。

レイヤー エクスプローラー ウィンドウで、PaymentGatway 名前空間を確認します。

ソリューション エクスプローラーで、PaymentGateway プロジェクト、PaymentProcessor 型を展開し、メンバー メソッドをレビューします。

PaymentProcessor.cs ファイルを開き、メンバー メソッド定義を確認します。

ダイアログ
PaymentGateway レイヤーにマップされているコードを確認し、Insert メソッド機能の一部を ProcessPayment メソッドにデリゲートできます。シーケンス図を作成することで、これらの 2 つのメソッドの高レベルの構造と呼び出しシーケンスを視覚的に比較できます。



アクション
最初のエラーをダブルクリックし、コードを表示します。Insert メソッドの定義を確認します。

Insert メソッド定義内を右クリックします。[シーケンス図の生成] を選択します。提案されたオプションをすべて維持します。[OK] をクリックします。

シーケンス図に、Insert メソッドが CreditCardService クラスと OnlinePaymentService クラスのメソッドを呼び出していることが示されています。

PaymentProcessor.cs ファイルで、ProcessPayment メソッド定義内を右クリックします。[シーケンス図の生成] を選択します。提案されたオプションをすべて維持します。[OK] をクリックします。

両方のシーケンス図を切り替えながら Insert メソッドおよび ProcessPayment メソッドの対象となっているクラスとそうでないクラスを比較します。また類似点と相違点を表示します。

ダイアログ
これらの 2 つのメソッドは、わずかな違いはありますがよく似ていることわかります。Insert メソッドをリファクタリングして ProcessPayment を呼び出してみます。その後、検証を再実行して、変更によって依存関係の競合が解決されたかを確認します。 



アクション
Insert メソッド定義内のステートメント:

if (order.CreditCard.CardType == "MasterCardCreditCardProviderA" || order.CreditCard.CardType == "VisaCreditCardProviderB") 

および

CalculatePaymentInfo(order);

の間のコードを次のコードと置換します。

PaymentGateway.PaymentProcessor processor = new PaymentGateway.PaymentProcessor();
if (!processor.ProcessPayment(order))
{
          return OrderStatus.Failed;
}


アーキテクチャを検証します。




ダイアログ

このビデオでは、アプリケーションの意図されたアーキテクチャを説明するのにレイヤー図がどのように役立つか、また、レイヤー検証を使用してデザインとコードが競合している場所を調べる方法について説明しました。また、シーケンス図を使用して、異なるクラスにまたがるメソッドの流れを確認する方法についても説明しました。UML モデルを使用したアーキテクチャの記述の詳細については、関連ビデオを参照してください。
ダイアログ UML 図を使用すると アプリケーションのユーザー要件とデザインをモデル化できるため チームのメンバーや関係者と アプリケーションについてより簡単に話し合うことができます また これによってアプリケーションがユーザーのニーズに合うようになるため ... ダイアログ Visual Studio では IntelliTrace スタンドアロン コレクターを使用して 既に配置しているアプリケーションについての診断データを取得できます 稼働環境の構成を変更することなく アプリケーションが配置されている場所にコレクターをインストールし ... ダイアログ パフォーマンス テストとロード テストは いずれも現実のユーザー ロードでのアプリケーションまたはサービスの規模を理解するために重要です パフォーマンス データおよびストレス データは Visual Studio Ultimate ... ダイアログ リソースの ID です ID を入力すると新しいダイアログ リソースを作成します 既存のものが使用できれば 一覧から選択することもできます 基底クラスが次のうちのどれかであるときに有効です: CDialog CFormView COlePropertyPage ... ダイアログ レイヤー図を使用して アプリケーションのアーキテクチャを設計し コードがデザインに合っているかを確認できます Team Foundation Server の作業項目をモデル要素にリンクする方法で モデルに関連付けられている作業を追跡できます ... ダイアログ幅を変更せずに AutoResize を選択しましたが 現在のダイアログ幅 にすべてのコントロールを入れることはできません ダイアログの幅を変更してもよい 場合はこの操作を行わないでください ダウンロードしたファイルがアプリケーションのファイルの種類に一致する場合に 自動的にそのファイルを開くかユーザーが選択できるかどうかを設定します 安全なファイルを開く では選択を可能にし 常に安全でない では選択を無効にします これらのオプションは同時に指定できません ... ダウンロードに失敗しました このコンピューターがインターネットに接続されていることを確認してください 接続されていてもダウンロードに失敗する場合は #(loc.Branding_DotNetFx) スタンドアロン インストーラーを#(loc ... ダッシュボード ページのこのコピーに使用するタイトルを入力してください この名前は ナビゲーション バーおよびダッシュボード ページの上部に表示されます