模板方法模式 大話設計模式

2022-05-21 15:45:08 字數 1035 閱讀 7928

在今天,讀書有時是件「麻煩」事。它需要你付出時間,付出精力,還要付出乙份心境。--僅以《大話設計模式》來祭奠那逝去的……

模板方法模式:定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重新定義改演算法的某些特定步驟,例如現實生活中的簡歷模板、**模板等等

模板方法模式是通過把不變行為搬移到超類,去除子類中的重複**來體現它的優勢,提供了乙個很好的**復用平台。當我們遇到一些過程從高層次看是相同的,但有些步驟的實現可能不同,這時候我們就可以考慮使用模板方法模式了

1.把大象放到冰箱裡與把企鵝放到冰箱裡的區別

開啟冰箱,大象太大了!實在放不下,切吧切吧放吧~,關冰箱門;開啟冰箱,把豬塞進去,關冰箱門

定義乙個抽象類,將不一樣的演算法定義為虛方法,讓子類可以重寫其方法,來定義新的特定步驟

public abstract class animaltemplate

public void operate()

放到冰箱裡面的過程:", this._name);

this.opendoor();

this.push();

this.closedoor();

}public void opendoor()

public virtual void push()

塞進去", this._name);

}public void closedoor()

}

定義大象和企鵝兩個子類,重寫push方法,各自有各自不同的放法

public class elephant : animaltemplate

public override void push()

}public class penguin : animaltemplate

public override void push()

}

開啟場景模擬

static void main(string args)

大話設計模式 模板方法模式

一 模式介紹 模板方法模式特別適合於整體流程 演算法 固定,只有一小部分功能不同的場景 通過乙個抽象父類構造起整個骨架,而將不固定的部分以抽象方法的形式保留,交給子類去具體實現 二 採用模板方法模式實現街邊小吃 烤冷麵 假設烤冷麵製作流程是固定的 1.加熱麵餅,2.加調料 我們先來實現乙個製作骨架 ...

《大話設計模式》模板方法模式

模板方法模式,定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。dp 模板方法模式提供了乙個很好的 復用平台,通過把不變行為搬移到超類,去除子類中的重複 來體現它的優勢。有時候,我們會遇到由一系列步驟構成的過程需要執行...

《大話設計模式》 模板模式

題目 相同的兩份試卷,甲乙兩個人做,答案不同 public class testpager protected string answer public class testpagera extends testpager public class testpagerb extends testpa...