Design Pattern – Delegation Pattern – Ủy quyền

Design Pattern – Delegation Pattern – Ủy quyền

Là một khái niệm cơ bản của lập trình hướng đối tượng. Thực tế, nó không thực sự là một design pattern, nó là một dạng cơ bản hơn.

Mẫu ủy quyền là một mẫu giúp bạn gián tiếp gọi một phương thức của một lớp. Thường được sử dụng khi bạn muốn phân phối các tính năng tùy theo mục đích cụ thể.

Ví dụ bạn có 2 máy in: PrinterA và PrinterB, printer A để in các tài liệu bình thường. printer B để in các tài liệu quan trọng. Bạn có 2 lớp: PrinterA và PrinterB cùng có phương thức Print.

Khi nào thì print() của A, khi nào của B?

Bạn ủy quyền cho một lớp điều khiển PrintingHandler

Lớp điều khiển này sẽ giúp bạn gọi phương thức của A hoặc B mà không cần lộ hai class này ra (bên gọi hoàn toàn không cần quan tâm đến 2 class A và B)

Mẫu ủy quyền khá giống với mẫu Strategy, Proxy và một vài mẫu khác. Và đừng lo ngại, mẫu ủy quyền là một khái niệm cơ bản nhất và các mẫu khác có thể là một hình thái nào đó của nó với mục đích nhất định.

Ví dụ: Strategy với mục đích ủy quyền thực thi các giải thuật

Ví dụ: Proxy ủy quyền thực hiện nhiệm vụ nào đó và … lưu giữ lại (trong trường hợp đối tượng dữ liệu lớn hoặc quá khó để nhân đôi, hoặc đơn giản là cần được tạo càng ít instance càng tốt (như database connections chẳng hạn).

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Cách khắc phục nếu Chrome hoặc Firefox bị treo liên tục

Cách khắc phục nếu Chrome hoặc Firefox bị treo liên tục

Chắc hẳn trong quá trình sử dụng Firefox/Chrome, bạn từng gặp phải hiện tượng trình duyệt bị đứng và ngừng hoạt động. Những thủ thuật nhỏ sau đây sẽ giúp bạn khắc phục điều đó.

Asus vừa chính thức phát hành phiên bản mới của dòng VivoBook chạy Windows 8

Asus vừa chính thức phát hành phiên bản mới của dòng VivoBook chạy Windows 8 với tên gọi VivoBook S500 với kích thước màn hình 15,6 inch, trang bị phím số cùng giá thành phải chăng.

Phân tích các thành phần đặc trưng của các web rác - spammy website, blog

Phân tích các thành phần đặc trưng của các web rác - spammy website, blog

Phân tích các thành phần đặc trưng của các web rác - spammy website, blog. Các phương pháp tối ưu lâu dài - white hat search engine optimization.

Công ty diệt chuột T&C

 

Diet con trung