"""策略模式
"""import types
class strat
def _程式設計客棧_init__(self, func=none):
self.name = '策略例子0'
if func is not nozckuuokvne:
"""給例項繫結方法用的,不會影響到其他例項"""
self.execute = types.methodtype(func, self)
def execute(self):
print(self.name)
def execute_replacement1(self):
print(self.name +程式設計客棧 ' 從執行1')
def execute_replacement2(self):
print(self.name + ' 從執行2')
if __name__ == '__main__':
strat0 = strategyexample()
strat1 = strategyexample(execute_replacement1)
strat1.name = zckuuokv'策略例子1'
strat2 = strategyexample(execute_replacement2)
strat2.name = '策略例子2'
strat0.execute()
strat1.execute()
strat2.execute()
執行結果如圖:
本文標題: 輕鬆掌握python設計模式之策略模式
本文位址:
掌握設計模式
分類 設計模式 2012 02 09 23 56 3591人閱讀收藏 舉報it職場的小菜經常有這樣的疑問 為什麼乙個相似的功能,大牛一會兒就搞定,然後悠閒地品著下午茶逛 而自己加班加點搞到天亮還做不完。為什麼使用者提出需求變更後,大牛只需瀟灑地敲敲鍵盤,改改配置 而自己將 改了又改,刪了又建,幾乎暈...
掌握設計模式
設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。設計模式使 編制真正工程化,設計模式是軟體工程的基石,如同大廈的一塊塊磚石一樣。只有精通了設計模式,才敢說真正理解了軟體工程。可以說,...
掌握設計模式
it職場的小菜經常有這樣的疑問 為什麼乙個相似的功能,大牛一會兒就搞定,然後悠閒地品著下午茶逛 而自己加班加點搞到天亮還做不完。為什麼使用者提出需求變更後,大牛只需瀟灑地敲敲鍵盤,改改配置 而自己將 改了又改,刪了又建,幾乎暈厥,最後只能推翻重來。為什麼大牛寫完的程式測試上線後,幾乎完美執行,使用者...