JAVA設計模式 Template

2021-05-24 09:03:56 字數 562 閱讀 9774

template這個模式就是說規定好了做一件事情的框架,但是每一步具體怎麼做是空出來的。它在下面三種情況下適用:

1) 一次性實現乙個演算法的不變的部分,並將可變的行為留給子類來實現。這裡父類就是乙個模板,它規定了哪些方法是可變的,然後子類繼承於它,然後填寫自己的實現。

2) 各子類中公共的行為應被提取出來並集中到乙個公共父類中以避免**重複。其實這可以說是一種好的編碼習慣了。

3) 控制子類擴充套件。模板方法只在特定點呼叫操作,這樣就只允許在這些點進行擴充套件。

下面看乙個例子:

abstractdisplay就是乙個模板,它定義了執行的過程,即display()方法,但是這個方法裡面的open(),print(),close()三個方法是空的,也就是說,父類構建了執行的模板,子類來實現具體的步驟。上述**的執行結果是:

<>

+-----------+

|hello world|

|hello world|

|hello world|

|hello world|

|hello world|

+-----------+

java設計模式

a categorization of patterns by intent intent patterns inte ces adapter,facade,composite,bridge responsibility singleton,observer,mediator,proxy,chain...

JAVA設計模式

設計模式 設計模式分類 設計模式分為三類,建立型模式,結構型模式,行為型模式 建立型模式 1 工廠方法模式 2 抽象工廠模式 3 單例模式 4 建造者模式 5 原型模式 結構型模式 1 介面卡模式 2 裝飾器模式 3 模式 4 外觀模式 5 橋接模式 6 組合模式 7 享元模式 行為型模式 1 策略...

JAVA設計模式

介面卡模式 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本不相容的類可以合作無間。外觀模式 提供了乙個統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。模板方法模式 在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變演...