[파이썬] 중재자 패턴과 상호 작용 조정

중재자 패턴은 객체 간의 상호 작용을 조정하고 관리하는 데 사용되는 디자인 패턴입니다. 이 패턴은 객체 간의 결합을 줄이고 코드의 모듈성 및 재사용성을 향상시킬 수 있습니다. Python은 중재자 패턴을 구현하고 사용하는 데 매우 유용한 도구를 제공합니다.

중재자 패턴의 개요

중재자 패턴은 다중 객체 간의 복잡한 상호 작용을 처리하는 데 사용할 수 있습니다. 주요 아이디어는 중재자 객체가 다른 객체 간의 통신을 조정하고, 객체 간의 직접적인 의존성을 제거하여 결합을 줄이는 것입니다.

예를 들어, 게시자-구독자 패턴을 생각해보십시오. 게시자는 메시지를 보내고, 구독자는 해당 메시지를 받습니다. 중재자는 게시자와 모든 구독자를 연결하고 메시지를 전달하는 역할을 수행합니다. 이렇게 하면 게시자와 구독자가 서로에 대한 정보를 알 필요가 없으며, 중재자는 관리하는 모든 통신을 통해 전달됩니다.

Python을 사용한 중재자 패턴의 구현

Python은 중재자 패턴을 구현하기 위한 몇 가지 기능을 제공합니다. 여기 예제 코드가 있습니다.

class Mediator:
    def __init__(self):
        self.colleagues = []

    def add_colleague(self, colleague):
        self.colleagues.append(colleague)

    def send_message(self, message, sender):
        for colleague in self.colleagues:
            if colleague != sender:
                colleague.receive_message(message)

class Colleague:
    def __init__(self, name):
        self.name = name

    def send_message(self, message):
        mediator.send_message(message, self)

    def receive_message(self, message):
        print(f"{self.name} received message: {message}")

위의 코드에서 Mediator 클래스는 중재자 역할을 수행합니다. add_colleague 메서드를 사용하여 동료 객체를 등록하고, send_message 메서드를 사용하여 메시지를 보냅니다. 동료 객체(Colleague)는 send_messagereceive_message 메서드를 구현하여 중재자 클래스와 통신합니다.

이제 중재자 패턴을 사용하여 객체 간의 상호 작용을 조정하는 방법을 보았습니다. 이 패턴을 사용하면 코드를 더 모듈화하고 재사용 가능한 구성 요소를 만들 수 있습니다. 중재자 패턴은 복잡한 상호 작용을 처리하는 데 특히 유용하며, Python의 기능을 통해 간단하게 구현할 수 있습니다.