Паттерн Адаптер на C#

Паттерн Адаптер преобразует интерфейс класса к другому интерфейсу, на который рассчитан клиент.

Адаптер обеспечивает совместную работу классов, невозможную в обычных условиях из-за несовместимости интерфейсов. Преобразует один интерфейс к другому.

Мы часто видим адаптеры в реальной жизни, адаптеры для телефонов, розеток, различных устройств. Устройств может быть десятки, а для них может подходить один адаптер, который, к примеру позволяет заряжать их.

Тоже самое и с паттерном Адаптер, бывает такие ситуации, когда интерфейс разный, а логика у них похожа, вот для таких случаев применяется паттерн Адаптер, он позволяет нам совместить два разных интерфейса.

Если вам понадобится использовать существующий класс с не подходящим интерфейсом используйте паттерн адаптер.

Адаптер приводит интерфейс к тому виду, на который рассчитан клиент.

Объем работы по реализации адаптера зависит от размера и сложности целевого интерфейса

Я набросал просто пример, для того, как можно применить паттерн Адаптер. Представьте у нас есть контактный зоопарк, в котором мы держали только уток, которые умеют летать и крякать, мы разработали под них интерфейсы, классы работы, и все бы ничего, но нам решили привести индюков, мы понимаем, что птицы разные, но схожи по свойствам, и утки и индюки умеют летать, но утки крякают, а индюки чавкают. В данном случаи мы могли полностью переработать логику программы переписать интерфейсы, взаимодействия с интерфейсом и это бы заняло уйму времени. Но мы воспользуемся паттерном Адаптер, который позволит нам совместить индюков с утками, но переопределит их свойства.

 

Паттерн Адаптер очень схож с паттерном Декоратор, но суть их в том, что Адаптер изменяет интерфейс, а Декоратор не изменяет интерфейс, но добавляет новые возможности.

Обновлено: 21.01.2022 — 15:13

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.