МОСТ ПАТТЕРН 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
Новые материалы:
- Django удалить запись из бд
- Метод половинного деления python
- Python калькулятор в одну строку
- Between в python
- Main py python скачать
- Python переводчик оффлайн
- Проект игры разума хекслет python
- Не dlp python
- Как проверить является ли число степенью двойки python
- Фильтр маджвика python
- Калькулятор на python
- Python в браузере