Встречается на собеседованиях • сегодня
Что такое паттерн Медиатор
Паттерн Медиатор — это поведенческий паттерн проектирования, который уменьшает связанность между компонентами системы, перенося их взаимодействие в отдельный объект-посредник. Вместо прямого общения друг с другом, компоненты взаимодействуют через медиатор, что упрощает поддержку и изменение кода.
Пример на Python:
python
class Mediator:
def notify(self, sender, event):
pass
class ConcreteMediator(Mediator):
def __init__(self, component1, component2):
self._component1 = component1
self._component1.mediator = self
self._component2 = component2
self._component2.mediator = self
text
def notify(self, sender, event):
if event == "A":
self._component2.do_c()
elif event == "D":
self._component1.do_b()class BaseComponent:
def init(self):
self._mediator = None
text
@property
def mediator(self):
return self._mediator
@mediator.setter
def mediator(self, mediator):
self._mediator = mediatorclass Component1(BaseComponent):
def do_a(self):
print("Component 1 does A.")
self.mediator.notify(self, "A")
text
def do_b(self):
print("Component 1 does B.")class Component2(BaseComponent):
def do_c(self):
print("Component 2 does C.")
text
def do_d(self):
print("Component 2 does D.")
self.mediator.notify(self, "D")text
Используется, когда нужно уменьшить связанность множества классов между собой. Например, в GUI-фреймворках или чат-приложениях.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы