[python] 어댑터 디자인 패턴

어댑터 디자인 패턴은 상이한 인터페이스를 가진 클래스들을 함께 동작할 수 있도록 중간에서 변환해주는 패턴입니다. 이 패턴은 소프트웨어 개발에서 특히 다른 모듈이나 라이브러리와의 통합을 간단하게 만들어주는데 사용됩니다.

어댑터 디자인 패턴의 구조

어댑터 디자인 패턴은 다음과 같은 구조를 가집니다:

Adapter Pattern

어댑터 디자인 패턴의 예시

Python에서의 어댑터 디자인 패턴을 예시로 살펴보겠습니다. 가정해보자면, 현재 코드에서는 서드파티 라이브러리인 external_library를 사용하고 있습니다. 하지만 내부적으로 우리의 코드는 internal_library와의 인터페이스와 상호작용을 해야합니다.

class ExternalLibraryAdapter:
    def __init__(self, external_library):
        self.external_library = external_library

    def do_something(self):
        self.external_library.perform_action()

class InternalLibrary:
    def perform_action(self):
        print("Internal library action")

external_library = ExternalLibrary()
adapter = ExternalLibraryAdapter(external_library)
adapter.do_something()

위의 코드에서 ExternalLibrary는 우리가 사용하고자 하는 인터페이스와 다른 인터페이스를 가지고 있습니다. 따라서 ExternalLibraryAdapter를 사용하여 ExternalLibraryInternalLibrary를 연결시켜줍니다. 이렇게 함으로써 InternalLibrary의 로직을 사용할 수 있습니다.

어댑터 디자인 패턴의 장점

어댑터 디자인 패턴은 다음과 같은 장점을 제공합니다:

어댑터 디자인 패턴의 결론

어댑터 디자인 패턴은 다른 인터페이스를 가진 클래스들을 통합하는 데 유용한 패턴입니다. 상이한 인터페이스를 가진 모듈이나 라이브러리를 함께 동작시키기 위해 사용할 수 있으며, 코드의 재사용성과 유연성을 높일 수 있습니다.

더 자세한 내용은 다음을 참고하세요:

class ExternalLibrary:
    def perform_action(self):
        print("External library action")