Mục lục
Adapter Design Pattern hoạt động như một cầu nối giữa hai giao diện không tương thích. Pattern này liên quan đến một class duy nhất được gọi là adapter, chịu trách nhiệm giao tiếp giữa hai giao diện độc lập.
Vì vậy, nói một cách đơn giản, Adapter Design Pattern giúp hai giao diện không tương thích hoạt động cùng nhau.
Adapter Design Pattern bao gồm 4 thành phần như sau:
Trong phần này, mình sẽ đưa ra một số ưu điểm và nhược điểm trong quá trình sử dụng Adapter Design Pattern trong C#.
Ưu điểm của Adapter Desing Pattern:
Nhược điểm của Adapter Design Pattern:
Trong phần này mình sẽ thực hiện triển khai Adapter Design Pattern thông qua một ví dụ dưới đây.
Bước 1: Tạo class Employee.
Trong class khởi tạo các thuộc tính bao gồm ID, Name, Designation, Salary. Và khởi tạo thêm một constructor Employee.
Employee.cs
|
Bước 2: Tạo Adaptee.
Class này có phương thức ProcessSalary()
lấy danh sách nhân viên làm tham số đầu vào và xử lý tiền lương của từng nhân viên.
ThirdPartyBillingSystem.cs
|
Bước 3: Tạo Target interface.
Class này định nghĩa phương thức ProcessCompanySalary()
sẽ được thực thi bởi adaper.
ITarget.cs
|
Bước 4: Tạo Adapter.
Class này triển khai Target interface và cung cấp việc triển khai cho phương thức ProcessCompanySalary()
.
Phương thức ProcessCompanySalary()
nhận thông tin nhân viên dưới dạng một mảng chuỗi. Sau đó chuyển đổi mảng chuỗi thành danh sách nhân viên và gọi phương thức ProcessSalary()
.
EmployeeAdapter.cs
|
Bước 5: Xử lý trên hàm Main()
Tạo một instance của class EmployeeAdapter và gọi phương thức ProcessCompanySalary()
bằng cách chuyển mảng chuỗi làm đối số.
Main
|
Kết quả:
Về bài trước... |
Bài tiếp theo... |
Cờ caro |
Butterfly |
Lật hình (luyện trí nhớ) |
Cờ tướng ONLINE |
Xếp hình |
Ghép hình |
15_PUZZLE |
Kill ghosts |
Banchim |
Planet Defense |
Tower game |
Tower game |
Plapy Bird (NH.Đông) |
Vượt chướng ngại vật |
+ Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!
* Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!
* Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!
+ -:
+ -: