碼農小汪 設計模式 模板方法

2021-07-11 06:04:05 字數 1017 閱讀 5202

啥子東西叫我做模板,我就不說了吧!這個很清楚的。比如簡歷模板,我們做的卷子也是模板吧,空空給你留著,每人人做的答案各有異同。

在模板模式(template pattern)中,乙個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。

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

優點: 1、封裝不變部分,擴充套件可變部分。 2、提取公共**,便於維護。 3、行為由父類控制,子類實現。

缺點:每乙個不同的實現都需要乙個子類來實現,導致類的個數增加,使得系統更加龐大。

乙個遊戲的模板方法

}建立擴充套件了上述類的實體類。

public

class

cricket

extends

game

@override

void initialize()

@override

void startplay()

}

public

class

football

extends

game

@override

void initialize()

@override

void startplay()

}

public

class templatepatterndemo

}

這個挺簡單的,不用我們說太多的東西的!

碼農小汪 設計模式 抽象工廠模式

抽象工廠 多個抽象產品類,派生出多個具體產品類 乙個抽象工廠類,派生出多個具體工廠類 每個具體工廠類可建立多個具體產品類的例項。即提供乙個建立一系列相關或相互依賴物件的介面,而無需指定他們的具體的類。一對多 的關係。工廠方法 一抽象產品類派生出多個具體產品類 一抽象工廠類派生出多個具體工廠類 每個具...

碼農小汪 ReentrantLock unlock

public void unlock 放掉乙個鎖和之前的acuqire乙個樣public final boolean release int arg return false release 會先呼叫tryrelease 來嘗試釋放當前執行緒鎖持有的鎖。成功的話,則喚醒後繼等待執行緒,並返回true...

碼農小汪 JVM的重排序

之前看過jvm本書,好多東西都還沒有理解透,今天發現了重排序,有必要去網上找點資料來說說,放在自己的部落格中,好 自己也加深印象。雖然不經常使用。但是概念還是必須要有的澀。我自己記得,就是按照順序的執行動作,最近忙起來,沒有複習這個東西啦,要學習的東西還有很多啦。重排序通常是編譯器或執行時環境為了優...