Composite pattern

Composite pattern dùng để tổ chức lưu giữ một tập hợp đối tượng có cấu trúc cha con theo mô hình cây phân lớp. Ví dụ như một văn bản XML bao gồm nhiều tag khác nhau, mỗi tag lại chứa các tag con … Một tập hợp các các đối tượng như vậy được gọi là một composite.

Class diagram

  • Component
    • Khai báo các method chuẩn cho các object thuộc composite.
    • Cài đặt các thao tác chuẩn cho toàn bộ các class và implement chúng nếu cần thiết.
    • Khai báo các method để quản lý và truy xuất các đối tượng con.
    • Khai báo các method để truy xuất đến các phần tử cha trên cây và implement các phương thức này (optional).
  • Leaf 
    • Đại diện cho các nhút lá trong composite. Nút lá không có con.
    • Định nghĩa các behavior cho các lớp cơ bản.
  • Composite
    • Định nghĩa các behavior cho các nút có chứa nút con.
    • Lưu trữ các component con.
    • Cài đặt các method liên quan đến nút con (trong Component interface).
  • Client
    • Thao tác với các đối tượng composite dùng các method định nghĩa trên Component interface.

Code mẫu:

Kết quả thực thi

 

No Comments

Post A Comment