Адаптер (Adapter)
Наділяє новим інтерфейсом, клас що не можна змінювати
Робить сумісними дві системи
Може перетворювати данні на потрібні для незмінного класу
Створюємо клас, що наслідує потрібний нам інтерфейс,
і клас, що ми мажмо адаптувати під свої потреби,
маючи реалізацію приводимо її до потрібного нам інтерфейсу
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();
}
}