C# Шаблон Адаптер (Adapter)

 

1. Адаптер — дає змогу об’єктам із несумісними інтерфейсами працювати разом.

2. Наділяє новим інтерфейсом, клас що не можна змінювати
3. Робить сумісними дві системи
4. Може перетворювати данні на потрібні для незмінного класу
5. Створюємо клас, що наслідує потрібний нам інтерфейс, 
і клас, що ми мажмо адаптувати під свої потреби, 
маючи реалізацію приводимо її до потрібного нам інтерфейсу

1. Реалізація без екземпляру

interface INeedInterface {
  void Send();
}

class AtherClass {    // який ми не можемо змінювати, бо він ще десь використовується
  public void SendLeter() { }
}

class Adapter : AtherClass, INeedInterface // клас обгортка
{
  public void Send()
  {
    this.SendLeter();
  }
}

 


2. Реалізація через екземпляр

class Adapter : INeedInterface
{
  AtherClass obj = new AtherClass();

  public void Send()
  {
    obj.SendLeter();
  }
}