Tôi đang gặp khó khăn khi hiểu thiết kế sơ đồ lớp, từ những gì tôi biết bố cục là mối quan hệ "có-a" nhưng tập hợp ?? Tôi không biết nó là gì. và một điều gì khi tôi biết sử dụng Thành phần trong một sơ đồ lớp? và khi nào tôi sẽ biết sử dụng Aggregation trong một sơ đồ lớp? một ví dụ sẽ được đánh giá cao.Thành phần và tập hợp trong một sơ đồ lớp
Trả lời
Sự khác biệt chính giữa tập hợp và thành phần là thuộc tính của mối quan hệ "có một" của bạn. Nó mạnh hoặc yếu.
Mối quan hệ "có-a" là "loại yếu". Yếu có nghĩa là các thành phần liên kết của trình tổng hợp có thể tồn tại trong vòng đời kết hợp hoặc có thể được truy cập theo cách khác. Một ví dụ đơn giản sẽ là một câu lạc bộ bóng đá với các thành viên của nó. Nếu câu lạc bộ được giải quyết, bạn vẫn có các thành viên - mà trong thực tế cũng có thể là thành viên của các câu lạc bộ khác và do đó được giữ sống.
Thành phần "có-một" quyền sở hữu là "loại mạnh". Ý nghĩa mạnh mẽ là người ta không thể tồn tại mà không có người khác. Vòng đời của thành phần được liên kết trực tiếp với "cha mẹ". Một ví dụ sẽ là một ngôi nhà có phòng. Nếu bạn quyết định xé nhà xuống, bạn cũng sẽ mất phòng của mình.
Có lẽ một chút trừu tượng nhưng tôi nghĩ đó là ý tưởng đằng sau nó.
Xem câu trả lời cho các câu hỏi trước here, here và here.
Cá nhân tôi không sử dụng Tổng hợp. Ngữ nghĩa quá yếu để có ích. Nó gây ra nhiều vấn đề hơn là giải quyết. Chỉ có một nơi có thuộc tính được xác định rõ và có khả năng hữu ích phân biệt nó với một liên kết nhị phân đơn giản (xem chú thích cuối trang).
Thành phần có thể hữu ích vì nó xác định các thuộc tính quan trọng về tính không thay đổi và quản lý vòng đời (xem liên kết 1 ở trên). Tôi đã sống rất hạnh phúc trong nhiều năm mà không bao giờ cần phải sử dụng Aggregation.
hth.
Chú thích cuối trang. Có thể áp dụng tổng hợp nếu bạn cần mô hình hóa mối quan hệ cây đệ quy, ví dụ: một phần bị phân tách đệ quy thành các phần phụ. Tập hợp nói rằng không thể có mối quan hệ tròn, tức là một phần không thể là một phần phụ của chính nó - trực tiếp hay gián tiếp. Tuy nhiên hầu hết mọi người đọc mô hình này đều không biết điều đó. -Bạn cần thêm nhận xét. Điều đó có nghĩa là bạn cũng muốn gắn bó với một hiệp hội nhị phân và tránh nhầm lẫn khi sử dụng Tập hợp.
- 1. Sơ đồ lớp UML Hiệp hội vs (Tập hợp | Thành phần) -Diamonds
- 2. Sự khác biệt về Sơ đồ thành phần và Sơ đồ triển khai?
- 3. Sơ đồ lớp trong Eclipse
- 4. Tạo Sơ đồ Lớp
- 5. thực hiện thành phần và tập hợp trong C#?
- 6. C# mã vào sơ đồ lớp
- 7. Sơ đồ lớp MVC UML
- 8. Sơ đồ lớp API Android
- 9. Sơ đồ lớp ngoại lệ Java?
- 10. Sơ đồ lớp UML enum
- 11. có nên kết hợp các lớp enum trong sơ đồ lớp uml không?
- 12. Tạo một sơ đồ trong HTML
- 13. PhpStorm, sơ đồ UML và xmi-file
- 14. Tạo sơ đồ lớp tự động
- 15. Tạo sơ đồ lớp từ nguồn C++?
- 16. Xuất sơ đồ lớp VS2010 sang visio
- 17. Thuật toán kết nối thành phần sơ đồ cIrcuit điện tử
- 18. thêm sơ đồ lớp từ VS2008 vào tập tin trợ giúp Sandcastle
- 19. Làm thế nào để mô tả một bản đồ chứa trong sơ đồ lớp UML?
- 20. Khi sử dụng Hibernate ORM tôi có nên mô hình đầu tiên một sơ đồ lớp hoặc sơ đồ DB?
- 21. Thay đổi phần tử lớp thành phần tử giao diện
- 22. Visual Studio UML Lớp Sơ đồ Máy phát điện
- 23. Tạo sơ đồ từ tập lệnh SQL trong MySQL WorkBench
- 24. Nên tạo Sơ đồ ER hoặc Sơ đồ lớp học đầu tiên?
- 25. Công cụ để kết hợp các lớp học một phần thành một lớp học?
- 26. vẽ sơ đồ khối/sơ đồ khối
- 27. Sơ đồ lớp UML của Zend_Log có đúng không?
- 28. Tạo sơ đồ lớp UML trong NetBeans 7.1.1
- 29. sơ đồ mạng/sơ đồ lưu lượng trong JQuery
- 30. Sơ đồ sơ đồ so với sơ đồ hoạt động UML
Tôi quên hỏi, liên kết như thế nào? – user962206