Mẫu thiết kế Composite là loại mẫu cấu trúc, cung cấp giải pháp để tổ chức các đối tượng theo cấu trúc cây, thể hiện phân cấp toàn thể- bộ phận. Với cấu trúc này, người dùng thao tác với các đối tượng không cần quan tâm xem mình đang thao tác với đối tượng toàn thể hay đối tượng bộ phận, cách thức thao tác là như nhau với tất cả các đối tượng trong cây phân cấp.
Cấu trúc giải pháp của mẫu Composite có dạng như sau:
Hình 3.6. Cấu trúc mẫu Composite
Cấu trúc giải pháp của mẫu Composite gồm 3 thành phần là Component, Composite và Leaf. Mỗi thành phần này có những đặc tính về mặt cấu trúc như sau:
o Component: Lớp có ít nhất hai quan hệ kết tập, và một trong số đó là lớp con.
o Composite: Lớp mà vừa là lớp con trong quan hệ tổng quát hoá- chuyên biệt hoá vừa là lớp bộ phận trong quan hệ toàn thể - bộ phận với lớp <<Component>>.
o Leaf: Lớp bộ phận trong mối quan hệ toàn thể - bộ phận với <<Component>>
Dưới đây là một số ví dụ về kết quả áp dụng mẫu Composite.
Hình 3.7 là kết quả của việc áp dụng đúng, các lớp trong mô hình thoả mãn tất cả các đặc tính về mặt cấu trúc của các lớp tương ứng trong cấu trúc giải pháp của mẫu.
Hình 3.7. Trường hợp áp dụng mẫu Composite đúng.
Hình 3.8 là kết qủa của việc áp dụng sai vì chúng ta thấy các lớp Line, Text, Rectangle (đóng vai trò lớp Leaf trong cấu trúc giải pháp của mẫu) không thoả mãn các đặc trưng của lớp Leaf.
Hình 3.9 cũng là một ví dụ về áp dụng mẫu sai vì lớp Line, Text, Rectangle, Image không thoả mãn các đặc trưng của lớp Leaf và Composite tương ứng.
Hình 3.9. Trường hợp áp dụng sai mẫu Composite