Khái niệm:
Tách một abstraction khỏi implementation của nó để cả hai có thể thay đổi độc lập nhau.
Mức độ sử dụng: vừa
UML Class Diagram:
Những lớp và/hoặc đối tượng trong mẫu thiết kế này:
- Abstraction (BusinessObject):
+ định nghĩa interface của abstraction
+ bảo trì một tham chiếu đến một đối tượng của Implementor
- RefinedAbstraction (CustomersBusinessObject): mở rộng interface được định nghĩa bởi Abstraction.
- Implementor (DataObject): định nghĩa interface cho các lớp
implementation. interface này không phải tương xứng tuyệt đối với
interface của Abstraction; thực sự, 2 interface này có thể khác nhau
hoàn toàn. interface implementation chỉ cung cấp các hoạt động ban đầu
và Abstraction định nghĩa các hoạt động mức cao hơn dựa trên những hoạt
động này.
- ConcreteImplementor (CustomersDataObject): thực thi interface của Implementor và định nghĩa implementation tương ứng của nó.
Bridge: khi nào dử dụng và sử dụng ở đâu
Mẫu thiết kế Bridge được sử dụng để tách một abstraction khỏi
implementation của nó để cả hai có thể thay đổi đôc lập nhau. Bridge là
một trong những mẫu thiết kế cấu trúc mức cao và mục tiêu chính của nó
là thông qua abstraction giúp cho các lập trình viên .NET viết code tốt
hơn. Một mẫu thiết kế Bridge được tạo ra bằng cách di chuyển một tập các
abstract operation sang một interface để cả client và dịch vụ có thể
thay đổi mà không phụ thuộc lẫn nhau.
Một ví dụ kinh điển của mẫu thiết kế Bridge là khi code với các trình
điều khiển thiết bị (device driver). Một driver là một đối tượng hoạt
động đôc lập với một hệ thống máy tính hoặc thiết bị phần cứng bên
ngoài. Việc nhận biết các ứng dụng client là abstraction rất là quan
trọng. Điều thú vị là mỗi đối tượng driver là một implementation của mẫu
thiết kế Adapter. Trong toàn hệ thống, ứng dụng cùng với các driver mô
tả cho một đối tượng của Bridge.
Demo
0 comments:
Post a Comment