Khanh Hoang - Kenn
Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.
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.
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ình luận (0)
Add Comment