0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: паттерны, структурные шаблоны проектирования, мост, bridge</p>
1
<p>Теги: паттерны, структурные шаблоны проектирования, мост, bridge</p>
2
<p><strong>Мост</strong>- структурный шаблон, который применяется в проектировании ПО для разделения абстракции и реализации таким образом, чтобы они могли меняться независимо друг от друга. Этот шаблон использует инкапсуляцию и агрегирование, а также, если требуется разделение ответственности между классами, может использовать наследование.</p>
2
<p><strong>Мост</strong>- структурный шаблон, который применяется в проектировании ПО для разделения абстракции и реализации таким образом, чтобы они могли меняться независимо друг от друга. Этот шаблон использует инкапсуляцию и агрегирование, а также, если требуется разделение ответственности между классами, может использовать наследование.</p>
3
<p>Давайте представим, что у нас есть веб-сайт с разными страницами, а нам надо разрешить пользователям менять тему этих страниц. Что делать? Вряд ли будет разумно создавать множественные копии для каждой веб-страницы и для каждой темы. Вопрос можно решить благодаря шаблону Мост.</p>
3
<p>Давайте представим, что у нас есть веб-сайт с разными страницами, а нам надо разрешить пользователям менять тему этих страниц. Что делать? Вряд ли будет разумно создавать множественные копии для каждой веб-страницы и для каждой темы. Вопрос можно решить благодаря шаблону Мост.</p>
4
<p>Если говорить простыми словами, то при использовании шаблона Мост обеспечивается<strong>предпочтение композиции над наследованием</strong>. В данном случае происходит передача деталей реализации из одной иерархии в другой объект с отдельной иерархией.</p>
4
<p>Если говорить простыми словами, то при использовании шаблона Мост обеспечивается<strong>предпочтение композиции над наследованием</strong>. В данном случае происходит передача деталей реализации из одной иерархии в другой объект с отдельной иерархией.</p>
5
<p>Лучше всего, конечно, посмотреть, как это будет выглядеть в коде вышеописанного примера с веб-страницами. Итак, у нас существует иерархия<strong>WebPage</strong>:</p>
5
<p>Лучше всего, конечно, посмотреть, как это будет выглядеть в коде вышеописанного примера с веб-страницами. Итак, у нас существует иерархия<strong>WebPage</strong>:</p>
6
<p>А также отдельная иерархия<strong>Theme</strong>:</p>
6
<p>А также отдельная иерархия<strong>Theme</strong>:</p>
7
<p>Теперь смотрим применение в коде:</p>
7
<p>Теперь смотрим применение в коде:</p>
8
<p>Также вам может быть интересен пример реализации шаблона "Мост" на языке программирования Java:<em>https://github.com/iluwatar/java-design-patterns/tree/master/bridge</em>.</p>
8
<p>Также вам может быть интересен пример реализации шаблона "Мост" на языке программирования Java:<em>https://github.com/iluwatar/java-design-patterns/tree/master/bridge</em>.</p>
9
<p><em>По материалам статьи "Design Patterns for Humans" - https://github.com/kamranahmedse/design-patterns-for-humans.</em></p>
9
<p><em>По материалам статьи "Design Patterns for Humans" - https://github.com/kamranahmedse/design-patterns-for-humans.</em></p>
10
10