и посмотреть медиа
Python Вопросы собесов - тесты
и посмотреть медиа
Вопросы, тесты и задачи для Python собеседований.
Вопросы, тесты и задачи для Python собеседований.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Канал с вопросами для собеседований по 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 Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!
sfsfs: канал с музыкой - хиты, новинки и плейлисты для прослушивания.
TechnoVibe - канал о технологиях: новые гаджеты, новости IT и полезные советы для всех интересующихся.
Общественный контроль за грубыми нарушениями ПДД на дорогах Узбекистана.