✨Adapter pattern

Adapter pattern

Trong công nghệ phần mềm, Adapter pattern(mẫu thiết kế tiếp hợp) là một mẫu thiết kế tiếp hợp cho phép chuyển đổi một interface có sẵn thành một interface khác thích hợp cho lớp đang viết. Một adapter cho phép các lớp làm việc với nhau, mà bình thường là không thể do sự không tương thích về interfaces, bằng cách bao đóng interface của riêng nó cho phù hợp với một lớp có sẵn.

Có hai loại mẫu điều hợp (adapter pattern):

  • Loại Object Adapter pattern - Trong loại mẫu adapter pattern này thì adapter chứa một thể hiện của lớp mà nó bao đóng. Trong tình huống này thì adapter sẽ thực hiện việc gọi hàm đến đối tượng thể hiện được bao đóng đó để thực hiện tác vụ cần thiết.

giữa|Mẫu Object Adapter biểu diễn bằng UML. Đối tượng adapter che giấu interface của adaptee khỏi client.

  • Loại Class Adapter pattern - Loại adapter này dùng đa kế thừa để đạt được mục đích này. Đối tượng adapter này được tạo ra bằng cách kế thừa các interfaces từ cả interface mong đợi và interface đã có sẵn. Đối tượng của mẫu Adapter rất hay được dùng ở các ngôn ngữ phổ biến, như Java, không được hỗ trợ đa kế thừa thực vì các nhà thiết kế các ngôn ngữ này cho rằng chúng là những thói quen không tốt.

giữa|Mẫu Class Adapter biểu diễn bằng UML.

Mẫu adapter rất hữu ích trong những tình huống khi tồn tại sẵn một lớp cung cấp một số hay toàn bộ dịch vụ mà bạn cần nhưng không có interface mà bạn cần. Một ví dụ tốt trong cuộc sống thực là một adapter chuyển interface của một Document Object Model từ một tài liệu XML thành một cấu trúc cây mà có thể hiển thị. Một liên kết đến một hướng dẫn sử dụng mẫu thiết kế được liệt kê ở bên dưới.

Ví dụ - Class Adaptor1

/** * Java code sample */

interface Stack { void push (Object); Object pop (); Object top (); }

/ DoubleLinkedList / class DList { public void insert (DNode pos, Object o) {... } public void remove (DNode pos, Object o) {... }

public void insertHead (Object o) {... } public void insertTail (Object o) {... }

public Object removeHead () {... } public Object removeTail () {... }

public Object getHead () {... } public Object getTail () {... } }

/ Adapt DList class to Stack interface / class DListImpStack extends DList implements Stack { public void push (Object o) { insertTail (o); }

public Object pop () { return removeTail (); }

public Object top () { return getTail (); } }

Ví dụ - Object Adapter

/** * Java code sample */

interface Stack { void push (Object o); Object pop (); Object top (); }

/ DoubleLinkedList / class DList { public void insert (DNode pos, Object o) {... } public void remove (DNode pos, Object o) {... }

public void insertHead (Object o) {... } public void insertTail (Object o) {... }

public Object removeHead () {... } public Object removeTail () {... }

public Object getHead () {... } public Object getTail () {... } }

/ Adapt DList class to Stack interface / class DListStack implements Stack { private DList _dlist;

public DListStack() { _dlist = new DList(); } public void push (Object o) { _dlist.insertTail (o); }

public Object pop () { return _dlist.removeTail (); }

public Object top () { return _dlist.getTail (); } }

👁️ 119 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong công nghệ phần mềm, **Adapter pattern**(mẫu thiết kế tiếp hợp) là **một mẫu thiết kế tiếp hợp** cho phép chuyển đổi một interface có sẵn thành một interface khác thích hợp cho lớp đang
Đây là danh sách các thuật ngữ tìm thấy trong lập trình hướng đối tượng. Một số có liên quan đến lập trình hướng đối tượng và một số thì không. Lưu ý rằng, các
Professional dynamic microphone for instrument and vocal applications Frequency response designed for guitar amplifiers, percussions and brass instruments Super-cardioid polar pattern minimizes background noise and feedback Switchable low-cut, flat and high-frequency boost to match instruments
ynamic vocal microphone with On/Off Switch Smooth mid-frequency presence rises for excellent voice projection Ultra-wide frequency response for brilliant and transparent sound Extremely high signal output lets your voice cut through Cardioid characteristic minimizes background
Thiết kế nhỏ gọn, dễ dàng cầm tay Máy In Nhãn Đơn Năng Brother PT-D210 có thiết kế nhỏ gọn, trọng lượng nhẹ, giúp bạn dễ dàng cầm nắm, cũng như bỏ trong túi khi làm
Thiết kế nhỏ gọn, dễ dàng cầm tay Máy In Nhãn Đơn Năng Brother PT-D210 có thiết kế nhỏ gọn, trọng lượng nhẹ, giúp bạn dễ dàng cầm nắm, cũng như bỏ trong túi khi
- Micro cài áo không dây BOYALINK được thiết kế 3 trong 1: sử dụng cho các dòng smartphone IOS, Android và máy ảnh, lý tưởng cho mọi tình huống. Sử dụng sóng 2.4GHz tự động nhảy
Audio-Technica ATR3350XIS là micro gài áo có hướng thu đa hướng, dải tần đáp ứng âm thanh rộng, giắc cắm chuẩn stereo, tương thích với phần lớn các dòng máy ảnh DSLR, máy quay và máy
**_Design Patterns_** (ISBN 0201633612) là cuốn sách khoa học máy tính đưa ra các giải pháp chuẩn và các quy ước đặt tên cho các vấn đề chung trong thiết kế phần mềm. Các tác
- Ulanzi A100  mang lại âm thanh rõ ràng, ổn định, không bị mất sóng với khả năng thu đa hướng trong phạm vi 20m với thiết kế nhỏ gọn, chế độ lọc tiếng ồn 3
- Ulanzi A100  mang lại âm thanh rõ ràng, ổn định, không bị mất sóng với khả năng thu đa hướng trong phạm vi 20m với thiết kế nhỏ gọn, chế độ lọc tiếng ồn 3
    Comica CVM-D02 Omnidirectional Condenser Lavalier Microphone is one Dual-head microphone for audio recording from two different ways of people; The Mic utilizes 2.5mm diameter silica-gel cable, and metal mic-shield materials for production, coming with
- Micro Cardioid Condenser Audio-Technica AT2020USB-X được cải tiến nhờ công nghệ dải tần đáp ứng âm thanh rộng, độ nhạy cao, micro điện dung có đầu ra USB kết hợp cùng bộ định hướng của
Audio Technica ATR3350XIS là micro gài áo có hướng thu đa hướng, dải tần đáp ứng âm thanh rộng, giắc cắm chuẩn stereo, tương thích với phần lớn các dòng máy ảnh DSLR, máy quay và
- Professional large-diaphragm dynamic microphone for unsurpassed audio quality - Optimized frequency response for bass drums, bass guitar cabinets and brass instruments - Ideal as main and support microphone for studio recordings and live performances
- Audio- Technica AT2040 là micro dynamic đầu ra XLR 48V kết nối với các thiết bị hoặc nguồn 5V lấy trực tiếp từ PC, Laptop. Hướng thu Hypercardioid mang lại chất lượng âm thanh tự
**Canon EOS 7D Mark II** là máy ảnh DSLR chuyên nghiệp được sản xuất bởi Canon. Nó được công bố vào ngày 15-9-2014 với mức giá ban đầu là $1,799. Đặc điểm nổi bật là