Описание режима адаптера
ПРИМЕЧАНИЕ. Режим адаптера, как правило, тот случай, когда используемый интерфейс не соответствует приложению или системе, но должен быть введен;
Сцена: Как будто мы купили мобильный телефон, и после его покупки мы обнаружили, что зарядная кабельная вилка представляет собой три вилки, но дома в розетке есть только две вилки. Что мы должны делать? Для удобства, и для того, чтобы иметь возможность взимать зарядку, вы должны купить универсальный адаптер зарядки; так что телефон можно взимать дома; В противном случае вы можете разместить его или запустить в место с этой зарядкой;
В фактической среде разработки, поскольку старая система или интерфейс, предоставленные сторонним приложениями, не соответствуют определенному интерфейсу, такие старые или сторонние интерфейсы не могут использоваться в среде, ориентированной на интерфейс. В настоящее время мы используем класс адаптера, чтобы унаследовать классы, которые будут адаптированы, и позволить классу адаптера реализовать интерфейсы для введения интерфейсов старой системы или сторонних приложений;
Таким образом, при использовании интерфейсного программирования вы можете использовать этот класс адаптивного соответствия, чтобы косвенно вызвать интерфейс старой системы или стороннего приложения.
В JavaScript для реализации кода, аналогичного шаблону адаптера динамического объектно-ориентированного языка, вы можете использовать унаследованные экземпляры прототипа для его реализации; Поскольку он основан на ограничениях интерфейса, но JavaScript не имеет номер интерфейса, мы удаляем интерфейсный уровень и напрямую реализуем цель класса реализации интерфейса для моделирования аналогичного исходного кода;
Пример исходного кода
1. Классы и методы интерфейса будут адаптироваться:
Кода -копия выглядит следующим образом:
Функция Adapteee () {
this.name = 'Adaptee';
}
Adaptee.prototype.getName = function () {
вернуть это. name;
}
2. Нормальный класс реализации [Поскольку в JavaScript нет интерфейса, класс реализации напрямую предоставляется]
Кода -копия выглядит следующим образом:
функция target () {
this.name = 'target';
}
Target.prototype.queryname = function () {
вернуть это. name;
}
3. Класс адаптации:
Кода -копия выглядит следующим образом:
функция adapte () {
this.name = '';
}
Adapte.prototype = new Adaptee ();
Adapte.prototype.queryname = function () {
this.getName ();
}
4. Как использовать:
Кода -копия выглядит следующим образом:
var local = new Target ();
local.queryName (); // Вызов нормальной класс реализации
var adapte = new adapte ();
adapte.queryname (); // вызов старой системы или стороннего интерфейса приложения;
Другие инструкции
На четвертом шаге выше, локальные и вар и вар адапт похожи на объектно-ориентированные языки, такие как Java и C#, такие как:
Кода -копия выглядит следующим образом:
Интерфейс Target {
public String QueryName ();
}
// указатель ссылки на интерфейс
Target local = new Realtarget (); // то есть целевой класс реализации JavaScript выше
local.queryName ();
// адаптер
Target Adapte = new Adapte ();
adapte.queryname ();
Можно видеть, что класс адаптера - это промежуточный слой, соединяющий интерфейс к интерфейсу целевого класса; Он используется для решения проблемы, что требуемая цель уже существует, но мы не можем использовать ее напрямую и не можем использовать ее в сочетании с определением нашего кода, поэтому мы должны использовать режим адаптера. Режим адаптера также называется режим преобразования и режим упаковки;