1. 程式人生 > >設計模式----Template Method(模板方法)

設計模式----Template Method(模板方法)

作用:

  定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中。TemplateMethod 使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。

  UML結構圖:

設計模式的解析和實現(C++)之十一-TemplateMethod模式

  抽象基類:

  1)AbstractClass:抽象基類,定義演算法的輪廓

  解析:

  TemplateMethod 的關鍵在於在基類中定義了一個演算法的輪廓,但是演算法每一步具體的實現留給了派生類.但是這樣也會造成設計的靈活性不高的缺點,因為輪廓已經定下來了要想改變就比較難了,這也是為什麼優先採用聚合而不是繼承的原因.