Entendiendo el patrón del adaptador

Estoy tratando de entender el patrón del adaptador y su uso en el mundo real. Después de leer 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 Adaptador. Más tarde lo cambié a OracleDAO.

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();
  }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta