Есть много вопросов о том, как сравнивать паттерн Бридж и паттерн Стратегия.Объяснения включают
Мост является структурным, а стратегия - поведенческой
и
UML и код выглядят одинаково, но цель другая
среди других менее распространенных.
Ни одно из тех объяснений, с которыми я встречался здесь или в другом месте, не является удовлетворительным.Я четко знаю, когда использую шаблон «Стратегия» и «Мост» из-за своего намерения и проблемы, которую мне нужно решить, но на расстоянии это различие становится размытым.Таким образом, этот вопрос время от времени отвлекает меня.
Если я использую паттерн Bridge при моделировании структуры компонентов, не становится ли он паттерном стратегии во время выполнения, естественно?
Редактировать: По запросу я добавляю SO вопросы
В этом ответе говорится, что UML-диаграмма и код похожи, но причина использования может отличаться. Этот ответ говорит, что их синтаксис похож, но цели разные. Этот ответ говорит, что один из них является структурным, а другой - поведенческим. Этот ответ был очень близок, но в конце нет единой причины, по которой мост также является стратегией во время выполнения. Этот ответ также заслуживает прочтения, но он все еще напрашивается на тот же вопрос;шаблон моста становится шаблоном стратегии во время выполнения?Является ли наше намерение единственной разницей?
Редактировать 2 : Я хотел бы спросить об этом по-другому.Рассматривая только исходный код, скажем, этот пример шаблона стратегии и этот пример шаблона моста , как вы можете отличить шаблон моста от шаблона стратегии?Похоже, что мы можем поменять их на примеры кодов, а учебники по-прежнему имеют смысл.