Zrozumienie wzoru adaptera

Próbuję zrozumieć wzór adaptera i jego zastosowanie w rzeczywistym świecie. Po przejrzeniu różnych artykułów w Internecie i www.dofactory.com stworzyłem ten przykładowy kod. Chcę tylko wiedzieć, czy moje zrozumienie jest poprawne. W poniższym przykładzie utworzyłem obiekt MSDAO w klasie Adapter. Później zmieniłem go na 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();
  }
}

questionAnswers(3)

yourAnswerToTheQuestion