Является ли паттерн моста тем же, что и паттерн провайдера? - PullRequest
1 голос
/ 13 мая 2009

Является ли шаблон моста таким же, как шаблон поставщика. Я не видел шаблон провайдера, указанный в книге GoF

Ответы [ 3 ]

1 голос
/ 04 августа 2012

Может быть, разница в том, что шаблон провайдера потенциально инкапсулирует множество мостов?

Я тоже задаю себе тот же вопрос, и мне трудно понять разницу.

Я считаю, что модель провайдера в основном является моделью стратегии.

Вопрос, который может помочь и прояснить мою путаницу

Когда вы используете шаблон моста? Чем он отличается от шаблона адаптера?

Т.е. да, они похожи в примерах, но их назначение отличается.

0 голосов
/ 14 мая 2009

Не знаком с шаблоном провайдера. Целью паттерна Bridge является отсоединение абстракций от их соответствующих реализаций. Упрощенный код например:

class Abstraction
{
  IBridge _bridge;
  public Abstraction(IBridge implementation) { _bridge=implementation; }
  public DoStuff() { _bridge.DoStuff(); }
}

interface IBridge
{
  void DoStuff();
}

class BridgeA : IBridge
{
  void DoStuff() {...}
}

class BridgeB : IBridge
{
  void DoStuff() {...}
}
0 голосов
/ 14 мая 2009

Я бы сказал, что они "очень похожи", рассмотрим шаблоны проектирования Стивена Метскера в C #: он предоставляет реализацию шаблона Bridge для драйверов баз данных на pg 71. Когда я читаю это, это выглядит как образец провайдера в одежде бриджа.

...