Sobes.tech
Junior — Middle

Программалык камсыздоону өнүктүрүүдө Adapter дизайн үлгүсүнүн максаты жана колдонулушу эмнеде?

sobes.tech AI

AIден жооп

Дизайн үлгүсү Adapter, бир классдын интерфейсин кардар күтүп жаткан интерфейске айлантуу үчүн колдонулат. Бул, шайкеш келбеген интерфейстерге ээ класстар бирге иштешине мүмкүндүк берет, алардын булагын өзгөртпөстөн.

Колдонмолор:

  • Эски кодду жаңы менен интеграциялоо.
  • Төртүнчү китепканалар же модулдар ортосунда шайкештикти камсыздоо.

Javaда мисал:

// Максаттуу интерфейс
interface Target {
    void request();
}

// Шайкеш келбеген интерфейсти колдонгон класс
class Adaptee {
    void specificRequest() {
        System.out.println("Өзгөчө метод чакыруу");
    }
}

// Максаттуу интерфейсти ишке ашырып, Adaptee методдорун чакыруучү адаптер
class Adapter implements Target {
    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public void request() {
        adaptee.specificRequest();
    }
}

// Колдонуу
public class Main {
    public static void main(String[] args) {
        Adaptee adaptee = new Adaptee();
        Target target = new Adapter(adaptee);
        target.request(); // Адаптер аркылуу specificRequest чакыруу
    }
}