У меня есть требование добавить слой между внешней библиотекой и клиентским кодом, чтобы у клиента был согласованный интерфейс с базовой библиотекой, и мы можем отключить библиотеку с минимумом изменений кода.
Например:
public interface IConsistentInterface
{
void Foo(string bar);
void Bar(string foo);
}
Внутренне конкретная реализация этого интерфейса будет вызывать библиотеку, используя любую функциональность, которую предлагает. Таким образом, если мы отключаем библиотеку, нам просто нужно изменить внутренние вызовы конкретных типов этого интерфейса.
Это выглядит для меня как шаблон Адаптера, но разве это лучший подход к проблеме?
Спасибо.