[디자인 패턴] Factory Method 패턴

정태경·2023년 10월 9일
0
post-thumbnail

Factory Method 패턴

팩토리 메소드 패턴은 객체 생성을 처리하기 위한 디자인 패턴 중 하나이다. 이 패턴을 사용하면 객체를 생성하는 일을 하위 클래스에서 처리할 수 있으며, 이를 통해 추상화된 인터페이스를 사용하여 객체를 생성하는 코드의 유연성을 높일 수 있다.

팩토리 메소드 패턴은 일반적으로 Creator(생성자) 클래스와 ConcreteCreator(구체적 생성자) 클래스로 구성된다. Creator 클래스는 객체를 생성하는 추상 메소드를 정의하고, ConcreteCreator 클래스는 이 추상 메소드를 구현하여 실제 객체를 생성한다.

Factory Method 패턴 다이어그램

예제 코드


from abc import ABC, abstractmethod


# Product
class Page(ABC):
    @abstractmethod
    def get_title(self):
        pass


# Concrete Product
class LoginPage(Page):
    def get_title(self):
        print("LoginPage의 타이틀입니다.")

    def enter_id(self):
        print("ID를 입력합니다.")


# Concrete Product
class SigninPage(Page):
    def get_title(self):
        print("SigninPage의 타이틀입니다.")

    def enter_pw(self):
        print("PW를 입력합니다.")


# Creator
class PageFactory(ABC):
    @abstractmethod
    def create_page(self):
        pass


# Concreate Creator
class LoginPageFactory(PageFactory):
    def create_page(self):
        return LoginPage()
    
    
# Concreate Creator
class SigninPageFactory(PageFactory):
    def create_page(self):
        return SigninPage()


login_page = LoginPageFactory().create_page()
login_page.get_title()

signin_page = SigninPageFactory().create_page()
signin_page.get_title()
profile
두나무 업비트 QA 엔지니어

0개의 댓글