Modo de "aislamiento de interfaz"

La esencia del modo de "aislamiento de interfaz" es utilizar una capa adicional de interfaces estables [indirectas] para aislar las interfaces que originalmente están estrechamente relacionadas entre sí. De hecho, los métodos indirectos se pueden reflejar en muchos patrones de diseño antes, como el principio de inversión de dependencia, que consiste en aislar el nuevo método agregando una capa de interfaz indirecta para lograr polimorfismo. El aislamiento unificado de interfaces aquí es solo que él es muy prominente.
1. Modo de fachada, utilizado principalmente para aislamiento entre interior y exterior. Consiste en encapsular un conjunto de interfaces estrechamente acopladas con una fuerte relación, y darlas todas a una interfaz. Esta es la fachada, y algunas interfaces internas a las que se accede desde el exterior solo se puede acceder accediendo a esta interfaz de fachada.

唯一要注意的是这一组接口必须是很很强关系的并且紧耦合的

Inserte la descripción de la imagen aquí

El modelo de agente
agrega una capa indirecta transparente al agente algunas capas que no son conocidas por el mundo exterior, como rendimiento, seguridad, etc.

Adaptador; al igual que el adaptador en la vida real, una interfaz se convierte en otra interfaz para su uso, y el nivel intermedio es el adaptador.
El núcleo de su implementación es; hay una clase de adaptador que hereda la nueva interfaz y combina los punteros de la interfaz anterior, de modo que cuando se implementan los métodos de la nueva interfaz heredada, los métodos de la interfaz anterior se combinan para lograr el nueva interfaz.
En un momento específico, estos tres pasos pueden completar la nueva interfaz para llamar a la antigua clase de interfaz.
oldInter * poldInter = new MyClass (); // Interfaz anterior
newInter * pnewInter = new Adaper (poldInter); // La interfaz anterior se combina en la nueva interfaz
pnewInter-> newPor ();

#include "Adaper.h"

class newInter
{
public:
	newInter();
	~newInter();
	virtual void newPor();

private:

};
class  oldInter
{
public:
	oldInter();
	~oldInter();
	virtual void oldPor1();
	virtual void oldPor2();

private:

};
class MyClass : oldInter
{
public:
	MyClass();
	~MyClass();
	virtual void oldPor1(){};
	virtual void oldPor2(){};
private:

};

class Adaper : newInter//继承新接口
{
	oldInter * oldInter;//组合
public:
	Adaper(oldInter *oldInter){
		this->oldInter = oldInter;
	};
	~Adaper();
	virtual void newPor()//用旧接口的那一套实现新接口
	{
		oldInter->oldPor1();
		oldInter->oldPor2();
	}
};

int main()
{
	oldInter *poldInter = new MyClass();//旧接口
	newInter *pnewInter = new Adaper(poldInter);//旧接口组合成新接口
	pnewInter->newPor();
	return 0;
}

El modo intermedio; de hecho, similar al modo fachada, pero el rol del modo fachada y la interfaz entre el exterior y el interior, y el modo intermedio es el rol y el interno, cuando la interfaz interna interna es muy complicada, se puede crear un intermediario para completar la gestión, pero el intermediario necesita definir una gran cantidad de especificaciones de protocolo para completar la gestión correspondiente.

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/zw1996/article/details/99218949
Recomendado
Clasificación