//Паттерн Адаптер(Adapter) предназначен для преобразования интерфейса одного класса в интерфейс другого. //Благодаря реализации данного паттерна мы можем использовать вместе классы с несовместимыми интерфейсами. //Когда надо использовать Адаптер? //Когда необходимо использовать имеющийся класс, но его интерфейс не соответствует потребностям //Когда надо использовать уже существующий класс совместно с другими классами, интерфейсы которых не совместимы static public void Go() { // путешественник Driver driver = new Driver(); // машина Auto auto = new Auto(); // отправляемся в путешествие driver.Travel(auto); // встретились пески, надо использовать верблюда Camel camel = new Camel(); // используем адаптер ITransport camelTransport = new CamelToTransportAdapter(camel); // продолжаем путь по пескам пустыни driver.Travel(camelTransport); }
public CamelToTransportAdapter(Camel c) { camel = c; }