Питоновское
09.05
Мост - это паттерн, который разделяет абстракцию и реализацию, позволяя им изменяться независимо друг от друга.
Стоит использовать когда нужно разделить монолит на отдельные иерархии (обычно две), или когда реализация должна меняться прямо во время выполнения программы, когда нужно избежать жесткой привязки абстракции к реализации.
Это используется GUI, дровах, API-библиотеках или Игровых движках.
Есть недостатки: паттерн усложняет код из-за доп классов и требуется тщательное проектирование.
По сравнению Моста с Адаптером, Адаптер связывает несовместимые интерфейсы, в то время как Мост наоборот - разделяет.
Пример без Моста: `class TVRemote: def turn_on(self): print("TV is on")
class RadioRemote: def turn_on(self): print("Radio is on")
Пример с мостом: `class Remote: def init(self, device): self.device = device # Делегирование
#weekofpatterns``еще контент в этом сообществе
еще контент в этом соообществе
Питоновское
09.05
войдите, чтобы увидеть
и подписаться на интересных профи