В чем разница между образцом моста и образцом стратегии? - PullRequest
107 голосов
/ 21 января 2009

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

Я знаю, что оба они отделяют абстракцию от ее реализации и могут изменять реализацию во время выполнения.

Но я до сих пор не знаю, в какой ситуации мне следует использовать стратегию или в какой ситуации я должен использовать бридж.

Ответы [ 13 ]

1 голос
/ 21 января 2009

Из вики на Стратегия шаблон

Диаграмма классов UML для Стратегии шаблон такой же, как диаграмма для Образец Моста. Тем не менее, эти два шаблоны проектирования не одинаковы в их намерение. Пока стратегия шаблон предназначен для поведения, Шаблон моста предназначен для конструкции.

Связь между контекстом и стратегии труднее, чем связь между абстракцией и реализация в мосту шаблон.

0 голосов
/ 08 сентября 2017

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

Я использую паттерн Бридж для разделения ортогональных концепций, которые оба они принадлежат к большему - чтобы они могли варьироваться независимо. Обычно включает несколько абстракций.

ИМО, паттерн Стратегия проще или более плоский. Он наверняка служит OCP, но не обязательно должен быть частью другой, более масштабной концепции, такой как паттерн Bridge.

0 голосов
/ 09 июня 2017

Для шаблона стратегии меняется только реализация.

Предположим, класс A использует класс B, который имеет несколько доступных реализаций. Таким образом, в этом случае B будет абстрактным с фактической реализацией, предоставленной во время выполнения. Это шаблон стратегии

Теперь, если само А абстрактно. И A, и B могут различаться. Вы бы использовали паттерн «Мост».

...