Adapter pattern là gì

  -  
1. Adapter Pattern là gì?

Adapter Pattern là 1 trong chủng loại cấu tạo (Structural Pattern).

Bạn đang xem: Adapter pattern là gì

Adapter Pattern có thể chấp nhận được những inteface không tương quan cho tới nhau rất có thể thao tác làm việc cùng mọi người trong nhà.

Đối tượng góp kết nối những interface Gọi là Adapter.

ví dụ như vào cuộc sống:

Cái sạc Smartphone vận động giống hệt như adapter liên kết giữa nguồn điện của điện thoại cảm ứng là 3V cùng với nguồn điện lưới là 240V.Cái phích kết nối điện có 3 chân tuy vậy ổ năng lượng điện chỉ tất cả 2 lỗ thì yêu cầu dùng thêm một chiếc bộ đưa để đưa từ 3 chân sang trọng 2 chân – bộ đưa này cũng rất được Điện thoại tư vấn là adapter…2. Adapter Pattern UML Diagram

*

Client tiếp xúc với inteface Target cơ mà phải sử dụng cho tới tác dụng sinh sống Adaptee.

Target đang knhì báo tác dụng của Adaptee và cần sử dụng implement của nó là Adapter để thiết đặt lại chức năng đó.

Xem thêm: Những Hình Ảnh Đẹp Ở Đà Lạt, Top 20 Địa Điểm Du Lịch Đà Lạt Đẹp Nhất Năm 2021

Adapter đang giao tiếp cùng với Adaptee để dùng lại một trong những phần hoặc toàn thể tính năng của Adaptee để phục vụ client.

3. Ví dụ

Mình có 1 class CheckNumberAdaptee chăm thực hiện bài toán khám nghiệm 1 chuỗi ký kết trường đoản cú có phải là loại số không.

Client bây giờ đề xuất chức năng kiểm tra 1 chuỗi ký kết tự liệu có phải là số điện không.

Rõ ràng client quan trọng sử dụng thẳng được CheckNumberAdaptee, ta đã dùng thêm class Adapter để thực hiện công dụng chất vấn số Smartphone bằng cách sử dụng công dụng của CheckNumberAdaptee soát sổ chuỗi ký từ bỏ đó liệu có phải là giao diện số ko, nếu đúng thì bình chọn thêm điều kiện của số điện thoại thông minh.

Xem thêm: Top 19 Khách Sạn Biển Gọi Đà Nẵng Trên Đường Võ Nguyên Giáp, Nhà Nghỉ Biển Gọi

*

Code Java:

CheckNumberAdaptee.java

public class CheckNumberAdaptee public boolean checkNumber(String input) String regex = "<0-9>+"; return đầu vào.matches(regex); PhoneTarget.java

public interface PhoneTarget boolean checkPhoneNumber(String input);Adapter.java (ở chỗ này mình khái niệm số điện thoại là số có 10 cho 11 số, các bạn có thể kiểm tra kĩ hơn Lúc vận dụng thực tế)

public class Adapter implements PhoneTarget { CheckNumberAdaptee checkNumberAdapptee = new CheckNumberAdaptee();
Override public boolean checkPhoneNumber(String input) { if (!checkNumberAdapptee.checkNumber(input)) return false; if (input.length() > 11 || input đầu vào.length() Demo:

public class Client public static void main(String<> args) PhoneTarget phoneTarget = new Adapter(); String input1 = "sdflkqweqweq"; String input2 = "123"; String input3 = "01234342342"; System.out.println(input1 + " is phone number: " + phoneTarget.checkPhoneNumber(input1)); System.out.println(input2 + " is phone number: " + phoneTarget.checkPhoneNumber(input2)); System.out.println(input3 + " is phone number: " + phoneTarget.checkPhoneNumber(input3)); Kết quả:

sdflkqweqweq is phone number: false123 is phone number: false01234342342 is phone number: true

Okay, Done!

References:

https://en.wikipedia.org/wiki/Adapter_pattern


This entry was posted in Design Pattern and tagged design pattern. Bookmark the permalinks.

Điều hướng bài bác viết


← Prototype Pattern – Code ví dụ Prototype pattern bởi Java
Facade Pattern trong Java – Code ví dụ Facade Pattern →