JAVA Design Mode Adapter mode

Source: Internet
Author: User

Use

Adapter mode (Adapter)

Transforms the interface of one class into another interface that the customer wants.

The adapter mode makes it possible for those classes that would otherwise not work together because of incompatible interfaces to work together. Adapter mode is a Structural mode

structure

figure-Adapter pattern structure diagram

Target : Defines the interface that the user needs to use.

Abstract classTarget {
PublicAbstractvoidRequest ();
}

adaptee : Define an interface that needs to be adapted

classAdaptee {
PublicvoidSpecificrequest () {
SYSTEM.OUT.PRINTLN ("special Request");
}
}


Adapter : The source interface is converted to the target interface by wrapping a Adaptee object inside.

classAdapterextendsTarget {
PrivateAdaptee adaptee =NewAdaptee ();

@Override
PublicvoidRequest () {
Adaptee. Specificrequest ();
}
}

Client : The object that needs to call our code.

PublicclassAdapterpattern {
PublicStaticvoidMain (string[] args) {
Target target =NewAdapter ();
Target. Request ();
}
}

Application Scenarios

Want to use a class that already exists, but if its methods do not meet the requirements;

Two classes have the same or similar responsibilities, but use them when they have different interfaces;

You should use adapter mode adaptation when both sides are not easy to modify, instead of using it when it is different.

JAVA Design Mode Adapter mode

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.