double arrow

Шаблон Адаптер: назначение, структура, пример программной реализации

Адаптер (англ. Adapter или англ. Wrapper — Обёртка) — структурный шаблон проектирования, предназначенный для организации использования функций объекта, недоступного для модификации, через специально созданный интерфейс.

Класс Adapter приводит интерфейс класса Adaptee в соответствие с интерфейсом класса Target (наследником которого является Adapter). Это позволяет объекту Client использовать объектAdaptee (посредством адаптера Adapter) так, словно он является экземпляром класса Target.

Таким образом Client обращается к интерфейсу Target, реализованному в наследнике Adapter, который перенаправляет обращение к Adaptee.

using System;

namespace Adapter

{

class MainApp

{

static void Main()

{

// Create adapter and place a request

Target target = new Adapter();

target.Request();

// Wait for user

Console.Read();

}

}

// "Target"

class Target

{

public virtual void Request()

{

Console.WriteLine("Called Target Request()");

}

}

// "Adapter"

class Adapter: Target

{

private Adaptee adaptee = new Adaptee();

public override void Request()

{

// Possibly do some other work

// and then call SpecificRequest

adaptee.SpecificRequest();

}

}

// "Adaptee"

class Adaptee

{

public void SpecificRequest()

{

Console.WriteLine("Called SpecificRequest()");

}

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: