勵志

勵志人生知識庫

模模式

模板模式,全稱模板方法設計模式(Template Method Design Pattern),是一種行為型設計模式。它在一個抽象類中定義了一個算法的骨架,並將某些步驟推遲到子類中實現。這樣,子類可以在不改變算法整體結構的情況下,重新定義算法中的某些步驟。這種模式適用於封裝不變部分、擴展可變部分,並提取公共代碼以便於維護。模板模式的優點包括封裝了不變的部分,擴展了可變部分,提取了公共代碼,便於維護,行為由父類控制,子類實現。缺點在於,對於每個不同的實現都需要定義一個子類,這可能導致類的數量增加,使系統更加龐大和抽象。

模板模式的主要角色包括:

抽象類(Abstract Class):負責給出算法的輪廓和骨架,由模板方法和若幹個基本方法構成。

抽象方法:在抽象類中聲明,由具體子類實現。

具體方法:在抽象類中已經實現,再具體子類中可以繼承或重寫它。

鈎子方法:在抽象類中已經實現,例如用於判斷的邏輯方法或者定義一個空方法。子類根據情況要不要重寫此方法,此方法為鈎子方法。

模板模式的使用場景包括:

當多個子類具有公用的方法,但執行流程邏輯相同時。

重要的、複雜的方法,可以考慮作為模板方法。

為了防止惡意操作,一般模板方法上都加有final關鍵字。