2011-11-10 48 views
5

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

21

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ó.

+0

Tôi quên hỏi, liên kết như thế nào? – user962206

0

Xem câu trả lời cho các câu hỏi trước here, herehere.

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.

Các vấn đề liên quan