Python 디자인 패턴-공장
팩토리 패턴은 생성 패턴 목록 범주에 속합니다. 개체를 만드는 가장 좋은 방법 중 하나를 제공합니다. 팩토리 패턴에서는 클라이언트에 로직을 노출하지 않고 공통 인터페이스를 사용하여 새로 생성 된 객체를 참조하지 않고 객체를 생성합니다.
팩토리 패턴은 팩토리 메서드를 사용하여 Python으로 구현됩니다. 사용자가 문자열을 전달하는 방식으로 메서드를 호출하면 새로운 객체로 반환 값이 팩토리 메서드를 통해 구현됩니다. 팩토리 메소드에서 사용되는 객체의 유형은 메소드를 통해 전달되는 문자열에 의해 결정됩니다.
아래 예제에서 모든 메소드는 팩토리 메소드를 통해 구현되는 매개 변수로 객체를 포함합니다.
팩토리 패턴을 구현하는 방법은 무엇입니까?
이제 팩토리 패턴을 구현하는 방법을 살펴 보겠습니다.
class Button(object):
html = ""
def get_html(self):
return self.html
class Image(Button):
html = "<img></img>"
class Input(Button):
html = "<input></input>"
class Flash(Button):
html = "<obj></obj>"
class ButtonFactory():
def create_button(self, typ):
targetclass = typ.capitalize()
return globals()[targetclass]()
button_obj = ButtonFactory()
button = ['image', 'input', 'flash']
for b in button:
print button_obj.create_button(b).get_html()
버튼 클래스는 html 태그 및 관련 html 페이지를 만드는 데 도움이됩니다. 클라이언트는 코드 논리에 액세스 할 수 없으며 출력은 html 페이지 생성을 나타냅니다.
산출
설명
파이썬 코드는 값을 지정하는 html 태그의 로직을 포함합니다. 최종 사용자는 Python 코드로 생성 된 HTML 파일을 볼 수 있습니다.