и посмотреть медиа
Python Вопросы собесов - тесты
и посмотреть медиа
Вопросы, тесты и задачи для Python собеседований.
Вопросы, тесты и задачи для Python собеседований.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Канал с вопросами для собеседований по Python. Тесты, задачи и материалы для подготовки.
🤔 Что такое паттерн Мост (Bridge)? Паттерн "Мост" (Bridge) является структурным паттерном проектирования, который предназначен для разделения абстракции и реализации так, чтобы они могли изменяться независимо друг от друга. Этот паттерн полезен, когда класс должен работать с различными платформами или когда нужно избежать жесткой связки между абстракцией и ее реализацией. 🚩 Зачем нужен 🟠Разделение абстракции и реализации: Он позволяет отделить абстракцию от ее реализации, что упрощает поддержку и расширение системы. 🟠Уменьшение количества подклассов: Без применения этого паттерна, если у нас есть несколько вариантов абстракции и несколько вариантов реализации, то нам пришлось бы создавать классы для всех возможных комбинаций, что приводит к взрывному росту количества классов. 🟠Гибкость: Это позволяет изменять и абстракцию, и реализацию независимо друг от друга. 🚩Как используется 🟠Абстракция (Abstraction): Определяет интерфейс и хранит ссылку на объект Implementor. 🟠Расширенная абстракция (RefinedAbstraction): Наследует Abstraction и расширяет интерфейс. 🟠Реализатор (Implementor): Определяет интерфейс для всех реализаций. 🟠Конкретный реализатор (ConcreteImplementor): Реализует интерфейс Implementor. Допустим, у нас есть программа для управления различными типами устройств (например, телевизор и радио), которые можно включать и выключать. Мы хотим, чтобы способ управления устройствами мог изменяться независимо от типов устройств. # Implementor class Device: def is_enabled(self): pass def enable(self): pass def disable(self): pass # ConcreteImplementor class TV(Device): def __init__(self): self._on = False def is_enabled(self): return self._on def enable(self): self._on = True def disable(self): self._on = False class Radio(Device): def __init__(self): self._on = False def is_enabled(self): return self._on def enable(self): self._on = True def disable(self): self._on = False # Abstraction class RemoteControl: def __init__(self, device): self._device = device def toggle_power(self): if self._device.is_enabled(): self._device.disable() else: self._device.enable() # RefinedAbstraction class AdvancedRemoteControl(RemoteControl): def mute(self): print("Device is muted.") # Клиентский код tv = TV() remote = RemoteControl(tv) remote.toggle_power() # Включает TV radio = Radio() advanced_remote = AdvancedRemoteControl(radio) advanced_remote.toggle_power() # Включает Radio advanced_remote.mute() # Заглушает Radio Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
Bot for full downloading of videos from TikTok. High quality without marks.
The channel with daily taskscompetitive programming. Develop skills in algorithms and solving complex programming issues.