Пытаясь понять схему моста - PullRequest
3 голосов
/ 11 марта 2019

Я пытаюсь прочитать шаблоны проектирования и в настоящее время перехожу через Bridge Pattern.

В нем говорится, что

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

Я прошел этот пример по этой ссылке : https://www.journaldev.com/1491/bridge-design-pattern-java enter image description here

Может ли кто-нибудь объяснить мне, как этот пример к этому смелому утверждению?

Большое спасибо.

1 Ответ

3 голосов
/ 11 марта 2019

Bridge разделяет интерфейс и реализацию на несколько частей. В вашем примере вы получите 2 разных интерфейса Shape, Color. Они будут генерировать свои собственные иерархии классов, и поскольку они независимы, они могут различаться.

В результате вы получите несколько фигур и несколько цветов, которые можно комбинировать во время выполнения. Это достигается с помощью composition вместо inheritance. Каждый экземпляр Shape нуждается в экземпляре Color, когда он создается, и таким образом вы получаете красный треугольник или зеленый пятиугольник или любую другую комбинацию Shape и Color.

Иерархии не тесно связаны и взаимодействуют только на уровне интерфейса.

...