UML のデザインパターンを適用を試してみる
NetBeans の UML クラス図作成に「デザインパターンを適用」ってのがあります。
ちょっと面白そうなので試してみました。
シンプルな Factory Method パターンで試してみます。
Java プロジェクトを新規に作成します。
次に UML プロジェクトを作ります。
[ カテゴリ ] から UML を選択し、[ プロジェクト ] には Java プラットフォームモデルを選びます。
適当に設定します。
[ 図を新規作成 ] でクラス図を選択します。
今回はデザインパターンを使用するので図名はこのままで
[ モデル ] を右クリックし [ デザインパターンを適用 ] をクリックします。
デザインパターン適用ウィザードにそって必要事項を入力していきます。
GoF Design Patterns の Factory Method パターンを選びました。
要素を次のように設定しました。
ここで解るように平凡な Factory Method パターンが作られることが想像できます。
ここで [ クラス図の作成 ] チェックボックスにチェックをいれます。
デザインパターンを適用するクラス図の名前を入力します。
確認して [ 完了 ] ボタンを押します。
以上の操作で Factory Method パターンのテンプレートが作成されます。
では、interface の操作を作成します。
DISC 要素を選択し、右クリックで [ 操作を作成 ] をクリックします。
下図のように編集可能となります。
選択されている編集項目は太字で表示されます。
下図はメソッドの名前が編集可能となってます。
名前を play としました。
同様に型を編集します。
操作の編集が終われば下図のようになります。
CD 要素に[ DISC から再定義された操作 ] が自動作成されました。
それでは 作成したクラス図から Java コードを自動生成させましょう。
UML プロジェクトを右クリックして [ コードを生成... ] をクリックします。
[ コードを生成 ] ウィンドウが表示されますので [ ターゲットプロジェクト ] に最初に作った Java プロジェクトを指定します。
あとは必要に応じて入力します。
[ 了解 ] ボタンを押すと Java ファイルが自動生成されます。
自動生成された Java ファイルは以下のものです。
Main クラスのファイルは最初の Java プロジェクトで作られたものです。
それでは CD クラスのコードを下記のように編集します。
次に CD_Factory クラスも。
最後に起動クラスの Main クラスを。
これでシンプルな factory Method パターンができあがりました。
それでは実行してみましょう。
ちゃんと動きましたね(^^)
クラス図のレイアウトを自動レイアウトさせてみます。
[ 階層型レイアウト ] アイコンをクリックします。
レイアウトの警告がでます。
問題なければ [ はい ] ボタンを押します。
自動レイアウトされました。
うーん、、、ちょっと微妙かも(^^;
私は素人なので遊びで使ってるぶんには面白い道具の一つなのは間違いないです!
Java のようなオブジェクト指向プログラミング言語と UML は相性がいいようですね。
UML を良く知らない私でもクラス図があるとプログラムがどういう作りか解りやすいと思う。
今回はクラス図から Java コードを作ったが、NetBeans のUML ツールは Java コードからクラス図の作成も可能なんですよね(^^)
本当に面白い便利なツールです!
でも、ちょっと気になるのは、同じプロジェクトを OpenSolaris 上の NetBeans でつくったら CD_Factory から CD の <<Creates>> の表記がでなかった。
なんでだろう? まぁ、いいか(^^;
面白いので UML の知識が増えたらまたいじってみよう(^^)