Паттерн Фасад позволяет скрыть сложность системы за одним простым интерфейсом. Например, у нас есть сложная система, состоящая из нескольких классов и методов, и мы хотим предоставить простой интерфейс для работы с этой системой. Вот пример реализации паттерна Фасад на Python:
class SubsystemA: def operation_a(self): print("Subsystem A operation") class SubsystemB: def operation_b(self): print("Subsystem B operation") class Facade: def __init__(self): self.subsystem_a = SubsystemA() self.subsystem_b = SubsystemB() def operation(self): self.subsystem_a.operation_a() self.subsystem_b.operation_b() # Использование фасада facade = Facade() facade.operation()
Паттерн декоратор позволяет добавлять новое поведение объекту, не изменяя его структуру. Например, у нас есть класс с определенным функционалом, и мы хотим добавить дополнительное поведение без изменения этого класса. Вот пример реализации паттерна декоратор на Python:
class Component: def operation(self): print("Component operation") class Decorator: def __init__(self, component): self.component = component def operation(self): print("Decorator operation") self.component.operation() # Использование декоратора component = Component() decorator = Decorator(component) decorator.operation()
В данном примере, при вызове метода operation()
у объекта Decorator
, сначала будет выполнен метод Decorator operation
, а затем метод Component operation
. Таким образом, мы добавили новое поведение к объекту Component
с помощью декоратора.
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.