Tiếp theo phần 1, bọn họ hãy cùng spqnam.edu.vn làm test về decorator pattern nhằm mục tiêu giúp ace dễ nắm bắt khi vận dụng trên các ngôn ngữ không giống nhau. Ace có thể tham khảo thêm các bài khác tại series thiết kế Pattern trên đây.

Bạn đang xem: Decorator pattern là gì

Như họ đã thấy những pattern trước đây của bản thân sử dụng nhân tài thừa kế không chuyển động tốt như vậy. Trong bài viết này, decorator pattern được bàn luận cho vấn đề thi công trong phần trước.

Vì vậy, những gì bọn họ làm bây giờ là mang một mẫu bánh pizza và “decorator” nó bằng các lớp bao phủ trong thời gian chạy:

Lấy một đối tượng người tiêu dùng pizza.
*
“Trang trí(decorator)” nó cùng với một đối tượng người tiêu dùng Capsicum.
*
“Trang trí(decorator)” nó bởi một đối tượng người dùng CheeseBurst.
*
Gọi getCost() và áp dụng ủy quyền thay vì thừa kế để tính toán chi phí lớp trên.

Xem thêm: Vì Sao Tháng Củ Mật Nghĩa Là Gì ? Tháng Củ Mật Nghĩa Là Gì

*

Những gì bọn họ nhận được cuối cùng là một loại bánh pizza cùng với lớp tủ phô mai và ớt chuông. Tưởng tượng các đối tượng người tiêu dùng “decorator” giống hệt như trình bao bọc. Dưới đấy là một số nằm trong tính của decorator:

Người trang trí(decorator) gồm cùng dạng hình với đồ dùng vật mà người ta trang trí.Bạn có thể sử dụng nhiều trình tô điểm để quấn một đối tượng.Vì trình trang trí có cùng các loại với đối tượng, chúng ta có thể chuyển xung quanh đối tượng người sử dụng được trang trí thay vị chuyển lịch sự nguyên bản.Chúng ta có thể trang trí các đối tượng trong thời gian chạy.
1. Định nghĩa:

Decorator pattern tất cả trách nhiệm bổ sung cập nhật vào một đối tượng người sử dụng một bí quyết hoạt động. Decorator cung ứng một chiến thuật thay chũm linh hoạt mang đến phân lớp nhỏ để mở rộng chức năng.

Sơ vật dụng lớp:

*
Mỗi thành phần hoàn toàn có thể được thực hiện riêng hoặc có thể được quấn bởi người trang trí.Mỗi trình trang trí gồm một đổi mới thể hiện chứa tham chiếu đến thành phần mà lại nó trang trí (mối tình dục HAS-A).ConcreteComponent là đối tượng chúng ta sẽ trang trí động.2. Ưu điểm:decorator pattern hoàn toàn có thể được thực hiện để hoàn toàn có thể mở rộng (trang trí) tác dụng của một đối tượng nhất định trong thời hạn chạy .Decorator pattern là một giải pháp thay cố cho phân lớp. Lớp con thêm hành động tại thời gian biên dịch và thế đổi ảnh hưởng đến toàn bộ các trường phù hợp của lớp gốc, Decoratorcó thể cung cấp hành vi bắt đầu trong thời gian chạy đến các đối tượng người dùng riêng lẻ.Decorator cung cấp cách tiếp cận trả tiền khi chúng ta sử dụng để tăng thêm trách nhiệm. Vậy vì nỗ lực hỗ trợ toàn bộ các tính năng có thể thấy trước trong một tờ phức tạp, hoàn toàn có thể tùy chỉnh, bạn có thể xác định một lớp dễ dàng và thêm chức năng tăng dần với các đối tượng người sử dụng Decorator.3. Nhược điểm:Trình trang trí(Decorator) rất có thể làm phức tạp quá trình khởi tạo ra thành phần bởi vì bạn không chỉ có phải khởi tạo thành thành phần nhưng còn bắt buộc bọc nó trong một vài trình trang trí.Có thể phức tạp để tín đồ trang trí(Decorator) theo dõi những người trang trí khác, chính vì việc quan sát lại nhiều lớp của chuỗi trang trí bước đầu đẩy mẫu mã trang trí vượt vượt ý định thực thụ của nó.

Phần tiếp chúng ta sẽ vận dụng trên code thực tế.

Cài áp dụng spqnam.edu.vn để dễ dàng update tin với học thiết kế mọi lúc hầu như nơi tại đây.

Tài liệu trường đoản cú spqnam.edu.vn:


Nếu các bạn thấy hay và hữu ích, chúng ta có thể tham gia những kênh sau của spqnam.edu.vn để nhận được rất nhiều hơn nữa: