Mẫu thích nghi biến đổi giao diện của một lớp thành một giao diện khác mà các đối tượng client có thể hiểu được. Lớp với giao diện được tạo ra gọi là Adapter. Nguyên tắc cơ bản của mẫu thích nghi nằm ở chỗ, làm thế nào để các lớp với giao diện không tương thích có thể làm việc được với nhau.
Mẫu thích nghi không quản lý tập trung các đối tượng gần giống như mẫu chế tạo, mà kết nối với nhiều lớp không liên quan gì với nhau. Ví dụ, lớp A sau khi thực thi giao diện của nó và vẫn muốn bổ sung phương thức từ một lớp B nào đó, chúng ta có thể kết nối A với B thông qua hình thức kế thừa hoặc liên kết đối tượng như một thành phần. Mẫu Adapter có một chút giống mẫu proxy ở chỗ đã tận dụng tối đa tính chất “ủy quyền”.
* Cấu trúc của mẫu
Trong đó:
Tagret: là một interface định nghĩa chức năng, yêu cầu mà Client cần sử
dụng.
Adaptee: là lớp chứa các chức năng mà Target cần sử dụng để tạo ra được
- 28 –
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Adapter: thực thi từ Target và sử dụng đối tượng lớp Adaptee, Adapter có nhiệm vụ gắn kết Adaptee vào Target để có được chức năng mà Client mong muốn.
* Phạm vi ứng dụng mẫu
Mẫu Adapter được ứng dụng trong các trường hợp sau: - Cần tích hợp một vài module vào chương trình.
- Không thể sát nhập trực tiếp module vào chương trình - Module đang tồn tại không có giao diện như mong muốn. - Cần nhiều hơn các phương thức cho module đó.
- Một số phương thức có thể nạp chồng.