Python 디자인 모드 의 템 플 릿 방법 모드 실례 상세 설명

본 논문 의 사례 는 Python 디자인 모델 의 템 플 릿 방법 모델 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
템 플 릿 방법 모드(Template Method Pattern):작업 중의 알고리즘 골격 을 정의 하고 일부 절 차 를 하위 클래스 로 지연 시 킵 니 다.템 플 릿 방법 은 하위 클래스 가 하나의 알고리즘 구 조 를 바 꾸 지 않 고 이 알고리즘 의 특정한 절 차 를 다시 정의 할 수 있 습 니 다.
다음은 템 플 릿 방법 모드 의 데모 입 니 다.

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
      
    ――      
      (Template Method Pattern):            ,           .                                   
    :                        ,               ,                      ,               
"""
class NewPaper(object):
  def question1(self):
    print "  1"
    print self.answer1()
  def question2(self):
    print "  2"
    print self.answer2()
  def answer1(self):
    return ''
  def answer2(self):
    return ''
class TestPaperA(NewPaper):
  def answer1(self):
    return '  A1'
  def answer2(self):
    return '  A2'
class TestPaperB(NewPaper):
  def answer1(self):
    return '  B1'
  def answer2(self):
    return '  B2'
if __name__ == '__main__':
  test1 = TestPaperA()
  test2 = TestPaperB()
  print "  A"
  test1.question1()
  test1.question2()
  print "  B"
  test2.question1()
  test2.question2()

실행 결과:
시험지 A
제목
정 답
제목
답 A2
시험지 B
제목
정 답 B1
제목
답 B2
상류의 디자인 은 다음 과 같다.

NewPaper 는 추상 적 인 유형 으로 추상 적 인 템 플 릿 을 정의 하고 추상 적 인 템 플 릿 방법 을 실현 했다.TestPaper 는 부류 의 하나 또는 여러 가지 추상 적 인 방법 을 실현 했다.
변 하지 않 고 가 변 적 인 행위 가 하위 클래스 의 방법 에서 혼합 되면 변 하지 않 는 행 위 는 하위 클래스 에서 반복 되 고 템 플 릿 방법 모델 을 통 해 이런 행 위 를 단일 한 곳 으로 옮 겨 하위 클래스 가 중복 되 는 변 하지 않 는 행위 의 얽 매 임 에서 벗 어 나 도록 도와 준다.
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기