Estoy tratando de entender el patrón de adaptador y su uso en el mundo real. Después de revisar varios artículos en internet y www.dofactory.com, creé este código de muestra. Solo quiero saber si mi entendimiento es correcto. En el siguiente ejemplo, he creado un objeto MSDAO en la clase Adapter. Más tarde lo cambié a OracleDAO.Descripción del patrón de adaptador
class Client
{
static void Main(string[] args)
{
ITarget objAdapter = new Adapter();
object dummyObject = objAdapter.GetData();
}
}
Interface ITarget
{
public void GetData();
}
//Decision to use MSDAO
class Adapter : ITarget
{
public void GetData()
{
MSDAO objmsdao = new MSDAO();
objmsdao.GetData();
}
}
//After a month, the decision to use OracaleDAO was taken, so the code change
class Adapter : ITarget
{
public void GetData()
{
OracleDAO objoracledao = new OracleDAO();
objoracledao.GetData();
}
}
En su ejemplo, ha completado su clase de infraestructura con una clase que implementa una interfaz. Lo he entendido, pero ¿puedes aclarar cómo has "transformado una interfaz en otra? Gracias. – pradeeptp
En este caso, la interfaz técnicamente no existía antes. Es una especie de caso degenerado en el sentido de que en realidad estás creando un interfaz para una clase que no tenía uno. El segundo ejemplo (recién agregado) lo demuestra mejor. – tvanfosson
Gracias. Esto está muy claro ahora! – pradeeptp