Кто-либо может объяснить понятие сменного адаптера мне с хорошим примером?

формула, которую вы ищете:

=ARRAYFORMULA(VLOOKUP(B10:B14, B22:C25, 2, 0))

6
задан Ates Goral 16 January 2009 в 04:33
поделиться

2 ответа

Из того, что я понял от быстрого чтения результатов Google, сменный адаптер является адаптером, который не трудно кодируется против определенного adaptee. На поверхности (собственный интерфейс адаптера), это все одинаково, но это может адаптироваться к другому adaptees с различными интерфейсами. Я нашел этот поток довольно объяснительным:

В основном это позволяет Вам вставлять адаптер, когда adaptee (получатель) протокол не известен во время компиляции при помощи отражения. При создании экземпляра адаптера Вы передаете его название метода adaptee для вызова, и также любые метаданные, это необходимо перевести входные типы. Когда адаптер получает вызов метода целевого интерфейса, он использует отражение для вызова соответствующего метода указанным на adaptee.

И это:

Основная ответственность Средства просмотра состоит в том, чтобы заполнить виджет от модели предметной области, не делая предположений о самом домене. Средство просмотра JFace использует механизм Объектов Делегирования в Сменном Шаблоне "адаптер" для реализации указанного выше требования.

Facehugger in action

Думайте о нем как о facehugger от Постороннего объекта; то, когда это обнимает поверхность, все, что Вы видите, является слизистой задней частью facehugger. Можно ввести его по абсолютному адресу с палкой и попытаться любопытствовать от ее рук (интерфейс адаптера). Но это в основном может обнять поверхность любого человека (adaptee), независимо от функций поверхности. Возможно, я продвигаю его немного, но, эй, я люблю Посторонний объект.

14
ответ дан 8 December 2019 в 13:50
поделиться

Можно прочитать эту статью о шаблоне адаптера / сменном шаблоне:

Оглавление в этой статье:

* 1 Design Patterns
* 2 Intent of Adapter
* 3 Motivation
* 4 Structure
* 5 Applicability
* 6 Consequences
* 7 Implementation
      o 7.1 Known Uses and Sample Code
      o 7.2 Related Patterns
* 8 Conclusions
* 9 Appendix
      o 9.1 References
      o 9.2 Glossary

Кавычка:

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

Вот небольшой пример:

У нас есть два класса - Нечто и Шиканье что выводы некоторая строка к консоли. Класс адаптера может адаптировать методы от обоих классов для обеспечения интерфейса (SaySomething), требуемый клиентом. Обратите внимание, что нет никакой зависимости от имени интерфейса - мы можем легко адаптировать и методы SayHey и Лая.

class Foo 
{
    public static void SayHey() { Console.WriteLine("Hey!"); }
}

class Boo 
{
    public static void Bark() { Console.WriteLine("Woof!"); }
}

class Adapter 
{
    public Action SaySomething { get; private set;} // "pluggable" adapter

    public Adapter(Action saySomethingAction) 
    {
        SaySomething = saySomethingAction;
    }
}

class Program
{
    static void Main(string[] args)
    {
        (new Adapter(Foo.SayHey)).SaySomething();
        (new Adapter(Boo.Bark)).SaySomething();
    }
}
3
ответ дан 8 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: