2012-02-09 14 views
2

UMLクラス図でブースト共有ポインタに保持されているオブジェクトを認識する方法がありますか?UMLでのスマートポインタの描画

+1

UML図を描くことができれば、オブジェクトの所有関係も分かるので、なぜ最初にスマートポインタが必要なのですか? – zvrba

答えて

2

スマートポインタをリレーションとしてモデル化する方法に関する全体的な合意には気付きません。

黒い菱形は寿命を制御することを意味し、白い菱形は寿命を制御しないことを意味するので、unique_ptrには黒い菱形、shared_ptrにはすべて黒い菱形、weak_ptrには白いダイヤモンドを使用することにローカルで同意することができます。

あなたが本当にsmart_ptrモデル化したい場合は、私が関係するプロパティクラスを追加することをお勧め:

0 
| /----------------\ 
+--+ shared pointer | 
| \----------------/ 
V 
2

あなたのUMLクラスモデルは抽象的言語イディオムを欠いする必要があります。

実際には、OCLの制約を含むスマートポイントの種類ごとに関係のステレオタイプを作成できます。私はあなたの詳細を与えるためにスマートポインタの各サブタイプの特定のセマンティクスで十分に精通していないが、OCL Specificationが役立つはずです。