Matthew A. Stoecker
Microsoft Corporation
May 2004
日本語版最終更新日 2004 年 8 月 3 日
適用対象:
Visual Studio® 2005
概要: Visual Studio クラス デザイナを使用すると、クラスの構造とその関係を視覚化し、ビジュアル デザイン環境を使用して新しいクラスを作成し、簡単にクラスをリファクタリングすることができます。
このホワイト ペーパーでは、これらのタスクの一部を紹介します。
メモ このドキュメントは製品のリリースに先立って制作されているため、細部の説明は実際に出荷される製品と正確に一致しない可能性があります。
このドキュメントの情報は、ドキュメントの作成時点の製品に基づいて書かれたものであり、計画以外の目的で利用できるものではありません。 また、このドキュメントの情報は、予告なしに変更される可能性があります。
Microsoft は、このドキュメントの内容に関して、特許、特許申請、商標、著作権、またはその他の知的財産権を所有している場合があります。 Microsoft
の使用許諾契約書に特に明記されている場合を除き、このドキュメントは、これらの特許、商標、著作権、またはその他の知的財産の権利を許諾するものではありません。
目次
はじめに
Visual Studio クラス デザイナを使用する理由
Visual Studio クラス デザイナ
Visual Studio との統合
まとめ
はじめに
Visual Studio クラス デザイナは、完全に機能する、共通言語ランタイム用のビジュアル デザイン環境です。 Visual Studio クラス デザイナを使用することで、クラスの構造とその他の型を視覚化でき、この視覚的な表示を通じてソース
コードを編集できます。 クラス図に加えられた変更は直ちにコードに反映され、コードに加えられた変更は直ちにデザイナの外観に反映されます。 デザイナとコードの同期関係によって、複雑な
CLR タイプの視覚的な作成や構成が容易になります。
クラス デザイナは、識別子の名前を変更したりメソッドのオーバーライドを支援したりする機能に加えて、特に、コードのリファクタリングを支援する機能を備えています。
クラスや構造体を自動生成したり、自動生成スタブによってインターフェイスを実装したりできます。
また、クラス デザイナをコード ベースの領域を同僚に伝達するコミュニケーション ツールとして使用することもできます。 さらに、クラス図をハード コピーに印刷したり、HTML
ページや PowerPoint プレゼンテーションに表示するための画像として保存できます。
図 1. クラス デザイナ
Visual Studio クラス デザイナを使用する理由
ソフトウェアのデザインは、困難で複雑なタスクです。 初期のデザイン フェーズに始まり、コードのレビュー、最終製品のドキュメント化に至る開発サイクルのすべての段階がチャレンジです。
Visual Studio クラス デザイナは開発サイクル全体を支援します。次のシナリオを参照してください。
- 既存のコードの理解 : 既存のコード ベースは複雑でわかりにくい場合があります。 Visual Studio クラス デザイナを使用することで、既存のクラス階層構造をグラフィカルに参照し、クラスの相互関係を把握できます。
- クラス デザイン : Visual Studio クラス デザイナを使用することで、グラフィカルな方法で高水準のソフトウェアのデザインと実装を生み出すことができます。
- コードのレビューおよびリファクタリング : Visual Studio クラス デザイナは、コードのレビューとリファクタリングを行う強力なツールです。 既存のコード図にレビュー用の注釈を付けることができるほか、デザイナを使用してコードのリファクタリングが可能なので、時間を節約できます。
- クラス図のドキュメント化 : クラス図を使用することで、既存のクラス階層構造を継承ツリーにグラフィカルに表示してドキュメント化できます。 クラス図は、電子メールやビジュアル
プレゼンテーションを通じて同僚にアイデアを伝達する場合にも役に立ちます。
Visual Studio クラス デザイナ
Visual Studio クラス デザイナは、.NET Framework の統合デザイン エクスペリエンスであるビジュアル コード デザイン ツールです。
クラス デザイナのビジュアル エクスペリエンスは共通言語ランタイムと密接に結び付けられています。 クラス、構造体、インターフェイスといった CLR は、自身の
ID を示す、外観が異なる形で表されます。 さらに、図中の用語は言語に依存しています。たとえば、Visual Basic において Public、Private、および Friend アクセス レベルで作業したとすると、C#
では、それぞれ、public、private、および internal として表示されます。 クラス デザイナは CLR と密接に統合されているので、.NET Framework
を使用してクラスをオーサリングするための理想的なツールだといえます。
Visual Studio クラス デザイナは開発サイクル全体を通じてその関連を維持し、上記のすべての主要なシナリオにおいて機能を提供します。 以下に例を示します。
- 既存のコードの理解 : Visual Studio クラス デザイナを使用することで、クラスの相互関係を迅速かつ容易に調べることができます。 既存のコードの継承階層を調べることができるほか、参照先タイプおよび
.NET アセンブリを調べることができるので、既存のタイプを視覚的に参照し、熟知できます。
- クラス デザイン : Visual Studio クラス デザイナを使用することで、クラスとクラス階層構造を迅速にデザインできます。 使い慣れたドラッグ アンド
ドロップ機能を使用することで、コード エディタとの同期を維持したままクラス図を作成できます。 クラス図に加えられた変更点は直ちにコードに反映され、その逆も同様に反映されます。
クラス図には、常時、現時点におけるコードのビューが表示されます。
- コードのレビューおよびリファクタリング : Visual Studio クラス デザイナは、コードのレビューとリファクタリングを行う強力なツールです。 既存のコード図に後の操作に関するコメントを追加できます。また、組み込みリファクタリング機能を使用することで、シンボル名の変更やプロパティのフィールドのカプセル化といった日常的なタスクを迅速かつ負荷なく実行できます。
- クラス図のドキュメント化 : 既存のクラス図をさまざまな方法で表示できます。たとえば、HTML ページや Microsoft PowerPoint プレゼンテーションに表示するイメージとして印刷したり、保存したりできます。
Visual Studio クラス デザイナを使用したクラスの作成
クラス デザイナを使用することで、簡単にプロジェクトで使用するクラスの作成や構成が行えます。 クラス図には、現時点におけるコードのビューが表示されます。 クラス図に加えられた変更はコードに自動的に同期化され、その逆も同様に同期化されます。
クラスをツールボックスから、クラス デザイナ画面にドラッグするだけで、簡単にクラスを作成できます。 プロジェクトにクラスを作成すると、コード エディタを開いて、この新しいクラスにコードを直接追加できるようになります。
加えられた変更はすべてクラス図に反映されます。
クラスを作成すると、[Class Details] ウィンドウを使用してメンバを追加できるようになります。 たとえば、メソッドを追加するには、[Class Details]
ウィンドウで [メソッドの追加] をクリックし、メソッド名を入力します。 これにより、戻り値の型とアクセス レベルを示し、このメソッドに関するコメントを追加できるようになります。
メソッドを作成すると、メソッド名にパラメータを追加できるようになります。これは、メソッドを追加する方法とほぼ同じ、最初にパラメータ名を指定し、次に、型、修飾子、コメントを指定するという方法で行います。
プロパティ、フィールド、イベントはメソッドの追加と同じ方法で追加できます。 ツリー コントロールを使用したメソッドの編集作業は、コード エディタへの入力作業ときわめて似ています。セルの移動に同じキーストロークを使用できるほか、IntelliSense
ヘルプを使用できます。
インターフェイスの実装
クラス デザイナを使用することで、簡単にクラスにインターフェイスを実装できます。 実際、インターフェイスがクラス デザイナ画面上に表示されている場合、クラスを継承する場合に使用する方法と同じ、クラスからインターフェイスに継承ラインを引くという方法を使用してこのインターフェイスを実装できます。
クラス デザイナにインターフェイスが表示されていない場合でも、簡単に実装できます。 クラス ビューから実装したいクラスにインターフェイスをドラッグするだけです。
このインターフェイスに定義されたメソッドに対してメソッド スタブが自動的に生成されます。 インターフェイスが実装されると、コード エディタに特定の実装コードを追加できるようになります。
継承階層の視覚化
クラス デザイナを使用して、プロジェクトの継承階層を視覚化できます。 継承したクラスの基本クラスを表示するには、クラスのヘッダー領域を右クリックして、[Show
Base Class] を選択します。 ダイアグラムに基本クラスが表示されます。
既存のクラスから継承したクラスを表示するには、クラスのヘッダー領域を右クリックして、[Show Derived Types] を選択します。 継承ラインでこのクラスに接続されている派生クラスがダイアグラムに表示されます。
Visual Studio との統合
クラス デザイナは Visual Studio 2005 Team System とシームレスに統合されます。 クラス デザイナを通常の Visual Studio
ツールを使用するのと同じ領域で、同じ慣れ親しんだ方法で、使用できます。 クラス デザイナで作業する場合、慣れ親しんだドラッグ アンド ドロップ操作でアクセス可能なクラス
デザイナ ツールがツールボックスに設定され、[Class Details] ウィンドウや [Properties] ウィンドウから型メンバにアクセスできます。
ドラッグ アンド ドロップ操作は、ソリューション エクスプローラやクラス ビューなど標準の Visual Studio ツール ウィンドウでも利用できます。 クラス
デザイナに加えられたすべての変更は、対応するコード ファイルと直ちに同期化されます。 これらのコード ファイルは、通常どおり、Visual Studio コード
エディタを使用して開いたり、編集したりできます。
クラス図
クラス図は、変更により定期的に更新されるコードの現在のビューです。 クラス図には、既存のプロジェクトのクラスが表示されます。 クラス図を使用することで、プロジェクトのクラスの相互関係を視覚化し、メンバを編集したり、メンバを個々のクラスに追加したりできます。
クラス図ファイルはプロジェクトの一部として存在し、保持されます。このファイルを使用することで、常にコードを視覚的に参照できます。
[プロジェクト] メニューから [新しいアイテム] を選択し、次に、クラス図を選択することで、既存のプロジェクトに新しいクラス図を追加できます。 クラス図は、プロジェクトに迎合するものというより、クラスの構築および編集といったプロセスを支援するツールだといえます。
クラス図を作成すると、クラス ビューからクラス デザイナ画面にドラッグすることで、クラス デザイナに既存のクラスを追加できるようになります。 また、新しいクラスやその他の型を、ツールボックスからクラス
デザイナにドラッグして追加することもできます。
クラスやその他の型をクラス デザイナに追加すると、選択や操作が可能な形に表示されます。 クラス デザイナからある形を選択すると [Class Details]
ウィンドウにその詳細が表示されます。 クラス図自体には視覚情報が格納されるだけで、コードの内容に関する情報は一切含まれません。 クラス図ファイルを削除してもコードが失われることはありません。
.gif)
図 2. クラス図
ツールボックス
クラス図の参照時に、ツールボックスを使用してクラス図に新しいメンバを追加できます。 ツールボックスには、クラス図に追加可能なクラス、構造体、デリゲート、列挙型、およびその他の型が格納されています。
ツールボックスからある型を追加すると、適切なコードとコード ファイルがプロジェクトに追加されます。
.gif)
図 3. ツールボックス
[Class Details] ウィンドウ
[Class Details] ウィンドウには、クラス デザイナに表示される型に組み込まれているメソッド、プロパティ、フィールド、イベントが表示されます。 [Class
Details] ウィンドウを使用することで、クラス デザイナでクラスや構造体のメンバをすばやく編集できます。 たとえば、メソッドの戻り値の型の変更、パラメータの追加、またはアクセス
レベルの変更といった作業を行うことができます。 [Class Details] ウィンドウで行ったすべての変更は、直ちにコードに反映されます。
.gif)
図 4. [Class Details] ウィンドウ
まとめ
クラス デザイナは Visual Studio 2005 の新しいツールです。このツールを使用することで、プロジェクトのクラスとインターフェイスをすばやく作成し、構成することができます。
このホワイト ペーパーでは、既存のコードの理解、クラス デザイン、コードのレビューとリファクタリング、ダイアグラムのドキュメント化など、クラス デザイナの用途の中でも最も基本的なシナリオの一部を紹介しました。
クラス デザイナの機能について理解を深め、ソフトウェア開発用のこの新しいツールを有効に活用することをお勧めします。