Définition du modèle d'adaptateur
Modèle d'adaptateur : Convertissez l'interface d'une classe en une autre interface souhaitée par le client. Le modèle d'adaptateur permet aux classes avec des interfaces incompatibles de fonctionner ensemble
Adapter Pattern:Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn't otherwise because of incompatible interface.
L'alias du modèle d'adaptateur est le modèle wrapper, qui peut être utilisé soit comme modèle structurel de classe, soit comme modèle structurel d'objet. L'interface mentionnée dans la définition du modèle d'adaptateur fait référence à une interface généralisée, qui peut représenter une méthode ou un ensemble de méthodes.
public class Adaptee {public void adapteeMethod(){ System.out.println("适配方法"); } }
public interface Target {/** * 适配的接口 */void adapteeMethod();/** * 新增接口 */void adapterMethod(); }
public class Adapter implements Target{private Adaptee adaptee;public Adapter(Adaptee adaptee) {this.adaptee = adaptee; } @Overridepublic void adapteeMethod() {this.adaptee.adapteeMethod(); } @Overridepublic void adapterMethod() { System.out.println("新增接口"); } }
public static void main(String[] args) { Target target = new Adapter(new Adaptee()); target.adapteeMethod(); target.adapterMethod(); }
Le mode orchestration comprend les trois rôles suivants :
1 : Cible (classe abstraite cible) : La classe abstraite cible définit l'interface requise par le client. Il peut s'agir d'une classe ou d'une interface abstraite, ou d'une classe concrète. Dans un adaptateur de classe, puisque le langage C# ne prend pas en charge l’héritage multiple, il ne peut s’agir que d’une interface.
2 : Adaptateur (classe adaptateur) : Il peut appeler une autre interface et servir de convertisseur pour adapter Adaptee et Target. C'est le cœur du modèle d'adaptateur.
3 : Adaptee (Classe Adapter) : L'adaptateur est le rôle adapté. Il définit une interface existante. Cette interface doit être adaptée aux souhaits du client.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!