掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     依存のステレオタイプについて


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2007-4-17 20:53

依存のステレオタイプについて

クラス間の関係と生成されるソースについての質問です。
下記①②のいずれかがテンプレートの修正で実現可能かお教え下さい。

①前回の質問にて https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=1460
依存や関連、集約などの種類によって、インクルード/前方宣言を書き分けることが出来るのは理解できたのですが、
これを依存のステレオタイプによって行うことは可能でしょうか。

②クラス間で関連を引くと関連先のヘッダのインクルードと共に、そのクラスへのポインタを属性として持ってしまいますが、
『ターゲットの役割』に役割名を入力すると属性に追加/白紙のままだと属性には何も追加されない、という出力にすることは可能でしょうか。


クラスが持つメソッドの戻り値や引数に他クラスの実体を使用する際、他クラスのヘッダをインクルードする必要があるのですが、
前方宣言でなければコンパイルが通らないパターンもあります。
そこで"前方参照を出力する依存"と、"ヘッダをインクルードする依存"を、ステレオタイプを使って書き分けられないかと考えました。
(関連や集約でヘッダのインクルード自体は出来るのですが、他クラスのポインタを属性として持ってしまいます。)

インクルードが必要なクラスの『インポートおよびヘッダ』の部分に1つ1つインクルード文を書いていけば済む話ではありますが、
上記2点のどちらかが可能であればクラス図上での記述だけで済み、少し楽が出来るかと思い質問した次第です。

以上、よろしくお願いします。
tkouno
投稿日時: 2007-4-18 8:58
EA Administrator
投稿: 3939

Re: 依存のステレオタイプについて

まず、2番目のご要望は、実現可能です。ローカルオプションダイアログの
「ソースコードの生成と読み込み」グループにある
「コード生成時に役割名を自動生成」のチェックをはずしてください。

これにより、役割が指定されていない場合には、属性の名前が
決まりませんので、コードには反映されません。
ご希望通りの結果になるのではないかと思います。

ただ、一般論として、関連ではなく依存の関係で
モデリングしたほうが、わかりやすいと思います。

そうなると1番の方法ですが、残念ながら現在は
ステレオタイプを条件として判断することはできません。

EXEC_ADDINマクロと独自開発アドインを利用して対応する方法は
ありますが、この方法はやや垣根が高いです。


次善の方法として、本来の意味の関連ではないこの関連の色を
灰色にするなどの方法があるのではないかと思います。

ご参考になれば幸いです。
ご要望にお応えできず申し訳ございません。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ