クラス図を設計する際に、私は構図が「has-a」関係ですが集約は知っているから、これを理解するのは苦労していますか?私はそれが何であるか分かりません。クラス図でコンポジションを使用することはいつ知っていますか?クラス図で集計を使用することはいつ知っていますか?一例が高く評価されます。クラス図の合成と集計
答えて
アグリゲーションとコンポジションの主な違いは、「has-a」関係のプロパティです。それは強いか弱いかのどちらかです。
集約「has-a」関係は「弱型」です。アグリゲータのリンクされたコンポーネントは、ライフサイクル全体で存続するか、または他の方法でアクセスされる可能性があることを意味します。簡単な例としては、メンバーであるサッカークラブです。クラブが解散した場合、あなたはまだメンバーを獲得しています。実際には他のクラブのメンバーでもあり、生き続けることができます。
"has-a"関係は "strong-type"です。他者との間に存在することができないという強い意味。コンポーネントのライフサイクルは、「親」に直接リンクされています。例としては、部屋のある家があります。あなたが家を引き裂くことに決めたら、あなたも部屋を失います。
少し抽象的かもしれませんが、それはその背後にあるアイデアだと思います。
前の質問への回答を参照してください。here、hereおよびhere
個人的に私は集計を使用しません。セマンティクスは弱すぎて役に立たない。それは解決するよりも多くの問題を引き起こします。簡単なバイナリアソシエーションと区別するために、明確かつ潜在的に有用なプロパティがある場所は1つだけです(脚注参照)。
合成は、不変性およびライフサイクル管理に関する重要な特性を定義しているため、有用です(上記の第1リンクを参照)。私はAggregationを使う必要がなくても何年もずっと幸せに生き延びてきました。
hth。
脚注。再帰ツリー関係をモデル化する必要がある場合は、集計を適用できます。部分は再帰的にサブパーツに分解されます。集約では、循環的な関係はないと言います。つまり、ある部分は直接的または間接的にそれ自身の下位部分になることはできません。しかし、モデルを読んでいるほとんどの人はそれを知ることはまずありません。 - コメントを追加する必要があります。つまり、バイナリアソシエーションを採用し、アグリゲーションを混乱させないようにすることもできます。
- 1. SQL集計合計集計
- 2. SSRS:集計集計合計
- 3. 総計と別個の集計合計
- 4. UMLクラス図のインタフェース集約
- 5. 部分集合と全体の値の線図を作成
- 6. LINQの合計と集計の差
- 7. Oracle - 集計合計とピボット集計合計を戻しますか?
- 8. MongoDB集計とプロジェクトの合計件数
- 9. OSGiの設計図とバネ構成の組み合わせ
- 10. クラス図を設計する
- 11. rで合計と重複を集計
- 12. 行と合計を集計する
- 13. 同時編集のためのリアルタイムUMLクラス図作成ツール?
- 14. 非集計フィールド/値とのInfluxDB混合集計関数
- 15. ディンプル散布図に集計を作成しない
- 16. インナーSQLサーバーの合計集計関数との結合
- 17. 合計式集計エラー
- 18. 集計合計枠組み
- 19. 「集計」とユーザ作成の関数を組み合わせる
- 20. コンポーネント図とクラス図ソフトウェアの
- 21. HBaseの複合キーと集計行
- 22. Javaで合成と集計を書く方法
- 23. ElasticSearchの範囲の合計集計
- 24. SlickGrid集計/列の合計の使用
- 25. 集約SQLでの集計(結合)
- 26. クラス図、組成の関係
- 27. UMLクラス図の生成
- 28. Django集計合計を計算する
- 29. ElasticSearch集約アレイフィールドの合計
- 30. html内でjavascriptの合計を集計
私は尋ねることを忘れました、どうですか? – user962206