Python 디자인 모델 의 공장 방법 모델 실례 상세 설명

본 논문 의 사례 는 Python 디자인 모델 의 공장 방법 모델 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
공장 방법 모드(Factory Method Pattern):대상 을 만 드 는 데 사용 되 는 인 터 페 이 스 를 정의 하여 하위 클래스 가 어떤 종 류 를 예화 할 지 결정 하도록 합 니 다.공장 방법 은 하나의 예화 를 하위 클래스 로 지연 시 킵 니 다.

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
      
    ――      
      (Factory Method Pattern):             ,            ,                  .
                   -       ,               
  :    ,      ,       
"""
class LeiFeng(object):
  def Sweep(self):
    print "  "
  def Wash(self):
    print "  "
  def BuyRice(self):
    print "  "
class IFactory(LeiFeng):
  def CreateLeiFeng(self):
    pass
#   
class Undergraduate(LeiFeng):
  pass
#       
class Volunteer(LeiFeng):
  pass
#           
class UndergraduateFactory(IFactory):
  def CreateLeiFeng(self):
    return Undergraduate()
#            e
class VolunteerFactory(IFactory):
  def CreateLeiFeng(self):
    return Volunteer()
if __name__ == "__main__":
  student = UndergraduateFactory()
  volunteer = VolunteerFactory()
  student.BuyRice()
  student.Sweep()
  volunteer.Wash()

실행 결과:
쌀 을 사다
땅 을 쓸다
빨래 하 다
상류의 디자인 은 다음 과 같다.

추상 적 인 공장 류 Create LeiFeng 과 추상 적 인 대상 류 LeiFeng 을 만 듭 니 다.구체 적 인 leifeng 대상-Undergradiate 가 dosomething 에 갈 때 추상 적 인 공장 을 계승 하 는 Undergraduate Factory 공장 류 를 사용 합 니 다.이 종 류 는 Undergradiate 인 스 턴 스 를 되 돌려 줍 니 다.다른 dosomething 을 하려 면...Volunteer Factory 공장 을 만 드 는 방법 으로 Volunteer 인 스 턴 스 를 만 들 면 됩 니 다.
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기