私はressourceを持っています。病気になることができるFactoryによって構築されたオブジェクトの共有ポインタ
- このリソースは常に存在するとは限りません。時刻は から変更可能です。 (工場)
- 一度に1つのオブジェクトだけがこのリソースにアクセスできます(mutexes)
- このリソースは異なるオブジェクトによって共有されています。 (スマートポインタ)
- このressourceは、何らかの理由で単独で消滅する可能性があります。誰かが "ressource"を外しました。
<SingleTone> <Abstract> +------------------------------+ +-----------+ +-----+ ¦ Factory ¦ *m_pRes ¦ Ressource ¦ <¦-------- ¦ ResA¦ +------------------------------+ <o>----------> +-----------+ +-----+ ¦ Ressource* createRessource() ¦ ^^ +------------------------------+ ¦ ¦ ^^ ¦ ¦ <uses> ¦ ¦ +---------+ *m_pRes ¦ ¦ ¦ +------¦ ObjectA ¦ < >-----------------+ ¦ ¦ +---------+ ¦ ¦ +---------+ *m_pRes ¦ +--------¦ ObjectB ¦ < >----------------------+ +---------+
私は工場出荷時は「新/削除」を担当するようになる:
は、私はこのようになります。心の中でUML設計のようなものを持っています。しかし、私は大きな問題に直面しています。どのようにすべてのオブジェクトは、私は工場からの削除を呼び出すとダングリングポインタを避けるときにressourceにもはや指摘しないことを確認するには?私はまた、 "プロパティリスナー"の一種を実装する必要がありますし、工場から私のressourceを "削除"したいときは、それを無視してポインタを "解放"する(nullに設定します)これはかなり複雑に聞こえる、...
ヤップより良い方法があるかもしれない、私はC++プログラミングを使用します...
Yieah nice、新しいコンセプト私は一度も見たことがなく、私の場合に非常によく似ています!学ぶ新しい材料、それは私が探していたもの!ヒントをありがとう! – morandg