掲示板一覧 - トピック一覧 EA ソースコード生成・コード生成テンプレート
テンプレートカスタマイズ時の「同じかどうか」の判断 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | トピック |
|---|---|
| tkouno | 投稿日時: 2009-9-10 9:45 |
EA Administrator ![]() ![]() 投稿: 3939 |
テンプレートカスタマイズ時の「同じかどうか」の判断○ご質問
コード生成テンプレートを編集し、クラスの操作について 引数を1つ増やして出力するように改造しました。 すると、同期生成の場合に、すでに操作(メソッド)が ソースコード内にあるのに、さらに生成されてしまいました。 (同じ内容が重複して出力されました) なぜでしょうか? ○回答 Enterprise Architectが行う操作が「同じかどうか」の判定については UMLモデルのクラスの操作の定義と、実際のソースコードの中身を 比較してチェックしています。 例えば、クラスAが操作Xと操作Yを持っていて、コード生成テンプレートで 操作Zを追加するようにした場合、ソースには操作Zがありクラスには操作Zは ないので、「異なる」と判定されます。 異なっているのでコード生成テンプレートの内容の処理が行われ、ここで 自動的に操作Zを追加するようになっているので、操作Zが重複します。 同様にして、引数の数や内容が異なる場合も「異なる」と判定されます。 上記のような理由ですので、ソースコード同期生成後、リバースして クラス図のクラスの情報をソースと一致させることで、「同じ」状態に することができます。 (ただし、ソースコード生成テンプレートの内容のカスタマイズの方法・内容に よっては、この場合でも「同じ」と判定されない場合もあります。) このあたりの背景は、メールで説明することは困難です。 下記の無料のセミナーでは、カスタマイズだけの話題の基礎だけで 4時間30分のボリュームがあります。 (上記の説明の内容や、より詳しい背景も説明しています) https://www.sparxsystems.jp/seminar/EACodeGenerate.htm 次回は少し先になりますが 今後ご利用されることがあれば、ぜひ無料セミナーをご活用下さい。 (また、メディア送付サービスも利用できます) |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |




