Khái niệm:
Cung cấp một interface thống nhất cho một tập các interface trong một
hệ thống con (subsystem). Façade định nghĩa một interface mức cao làm
cho hệ thống con dễ dàng sử dụng hơn.
Mức độ sử dụng: cao
UML Class Diagram
Những lớp và/hoặc đối tượng trong mẫu thiết kế này:
- Façade (MortgageApplication):
+ biết các lớp của hệ thống con nào chịu trách nhiệm cho một request.
+ ủy thác các request của client để thích hợp với các đối tượng của hệ thống con.
- Subsystem classes (Bank, Credit, Loan):
+ thực thi chức năng của hệ thống con
+ xử lý công việc được chỉ định bởi đối tượng façade
+ không biết về façade và không giữ tham chiếu đến nó
Façade: khi nào sử dụng và sử dụng ở đâu
Một façade là một lớp cung cấp một interface (một tập hợp các phương
thức và thuộc tính) giúp client dễ sử dụng các lớp và đối tượng hơn
trong một hệ thống con phức tạp. Mẫu thiết kế façade là một mẫu thiết kế
đơn giản và có thể giống như là không đáng kể. Tuy vậy, ảnh hưởng của
nó là rất đáng kể ví nó là một trong những mẫu thiết kế được sử dụng
thường xuyên nhất trong các hệ thống được xây dựng trên mô hình 3-tier.
Mục đích của Façade là cung cấp một interface ở mức cao làm cho hệ
thống con hoặc toolkit dễ sử dụng hơn cho client. Trong một ứng dụng
3-tier, presentation layer là client. Những lời gọi vào business layer
thực hiện thông qua một service layer được định nghĩa tốt (well
defined). service layer này, hoặc façade làm ẩn đi sự phức tạp của các
đối tượng business và các tương tác của chúng.
Façade thường được sử dụng kết hợp với các mẫu thiết kế khác. bản
thân các façade thường được thực thi như single abstract factories. Tuy
nhiên, bạn có thể sử dụng các phương thức tĩnh trên Façade để có hiệu
quả tương tự.
Demo
0 comments:
Post a Comment