МОСТ ПАТТЕРН PYTHON

Мост (Bridge) — это структурный шаблон проектирования, который позволяет разделить абстракцию и реализацию так, чтобы они могли изменяться независимо. Это достигается путем создания абстрактного класса, который определяет основу и интерфейс, а также реализацию, которая определяет способ его реализации. Шаблон «мост» используется в ситуациях, когда класс имеет несколько степеней свободы и должен иметь возможность изменяться в двух разных измерениях.

Например, в Python мы можем использовать «мост» для разделения наших классов на две части: абстракцию и реализацию. В абстрактном классе мы можем определить основу и интерфейс, а в его реализации мы можем определить способ ее реализации.

class Abstraction: def __init__(self, implementation): self.implementation = implementation def operation(self): return "Abstraction: Base operation with:\n" + self.implementation.operation_implementation()class Implementation: def operation_implementation(self): passclass ConcreteImplementationA(Implementation): def operation_implementation(self): return "ConcreteImplementationA: Here's the result on the platform A."class ConcreteImplementationB(Implementation): def operation_implementation(self): return "ConcreteImplementationB: Here's the result on the platform B."if __name__ == "__main__": implementation = ConcreteImplementationA() abstraction = Abstraction(implementation) print(abstraction.operation()) implementation = ConcreteImplementationB() abstraction = Abstraction(implementation) print(abstraction.operation())

В этом примере у нас есть абстрактный класс Abstraction и его реализация Implementation. Класс Abstraction определяет основу и интерфейс, а класс Implementation определяет, как именно реализуется этот интерфейс для конкретной ситуации. ConcreteImplementationA и ConcreteImplementationB - это конкретные реализации класса Implementation.

В этом примере мы создаем объекты классов ConcreteImplementationA и ConcreteImplementationB и передаем их в Abstraction. Затем мы вызываем метод operation в Abstraction, который возвращает свой базовый вывод и результат, полученный из внутренней реализации объекта implementation. В конечном итоге мы получаем различные результаты в зависимости от того, какой класс Implementation мы использовали.

Паттерны проектирования на Python: Bridge

What is the ABSTRACT FACTORY PATTERN in Python?

The real purpose of Python's match statement, feat. CSTs

Паттерн Bridge на Python

The Fastest Way to Loop in Python - An Unfortunate Truth

This is BETTER than the ICT Silver Bullet [UPDATE + Full Checklist 2023] ✅

Python. Паттерн проектирования программ \

Мост (Bridge) ► Шаблон проектирования ► Урок №18

Pattern Matching in Dart 3 is Powerful!

Singleton Design Pattern - Python Example

BLGPG-554099E7D0A7-24-09-20-01

Новые материалы: