"""
模板方法模式:在父類中定義操作的演算法骨架,讓演算法的一些特殊步驟在子類中實現。模板方法實現了子類在不改變演算法骨架的基礎上
很容易重定義那些特殊的步驟
"""from abc import abcmeta, abstractmethod
class
template
(object):
__metaclass__ = abcmeta
def__init__
(self):
pass
defissue
(self):
print("issue:balabala")
print("answer:")
self.answer()
@abstractmethod
defanswer
(self):
pass
class
issue1
(template):
def__init__
(self):
super(issue1, self).__init__()
defanswer
(self):
print("answer1")
class
issue2
(template):
def__init__
(self):
super(issue2, self).__init__()
defanswer
(self):
print("answer2")
if __name__ == '__main__':
issue1 = issue1()
issue1.issue()
print("")
issue2 = issue2()
issue2.issue()
模板方法模式 python
模板方法模式 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。因此模板方法使得子類可以在不改變乙個演算法的結構的情況下重新定義該演算法的某些特定變數。優點 把不變行為搬移到超類,去除子類中的重複 encoding utf 8 by panda 模板方法模式 def printinfo inf...
模板方法模式 python
模板方法模式 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。因此模板方法使得子類可以在不改變乙個演算法的結構的情況下重新定義該演算法的某些特定變數。優點 把不變行為搬移到超類,去除子類中的重複 應用特性 重複做相同邏輯的事情,但是具體細節不同的場景 結構特性 相同邏輯抽取至父類,具體細節留...
Python設計模式 模板方法模式
模板方法模式是乙個比較容易理解的設計模式,用乙個考試的例子來講比較通俗易懂,我們考試的時候大家用的都是同乙份試卷,只是是每個人做的答案有可能不一樣,如果每個人都抄乙份試卷那就要完蛋了,考試時間都放在抄試卷上了,如果老師把試卷寫在黑板上,那麼每個同學就只需要將答案交給老師就好了,從而節約了不少時間。首...