JAVA的23種設計模式 模板模式

2021-08-01 07:35:46 字數 1804 閱讀 3710

1.該文章闡述了模板模式的原理及展示了模板模式的示例;

2.該文章適合初學設計模式的技術人員研習;

3.該文章有許多不足之處,請各位大咖指正,噴子繞道;

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

1.模板模式**示例

抽象交易流程

/**

* 交易流程

*@author administrator

* */

public

abstract

class

transactionprocess

//交易

this.transaction();

//結束

this.over();

}//判斷過程中是否需要競價,預設需要

public

boolean

isbidding()

}

普通買賣交易方式

/**

* 普通買賣,使用者決定是否需要競價這個環節

*@author administrator

* */

public

class

generaltransaction

extends

transactionprocess

@override

public

void

bidding()

@override

public

void

transaction()

@override

public

void

over()

//重寫是否需要競價的方法,由使用者決定

@override

public

boolean

isbidding()

//使用者傳入普通買賣是否需要競價

public

void

setbidding(boolean isbidding)

}

拍賣交易方式

/**

* 拍賣,肯定需要競價,此處是否需要競價這個環節的方法無需重寫

*@author administrator

* */

public

class

auction

extends

transactionprocess

@override

public

void

bidding()

@override

public

void

transaction()

@override

public

void

over()

}

模擬交易過程

/**

* 模擬交易過程

* @author administrator

* */

public class test

}

注:

1.此示例中,交易流程的結構是已經封裝好的,但是普通買賣和拍賣在是否需要競價環節這個問題上有差異,因此此處普通買賣方式在不改變整體架構的前提條件下對競價這個特定步驟進行了取捨。

2.鉤子方法:不破壞整體架構的前提下,隨著外界條件改變,可以影響到模板方法的執行的方法。

23種設計模式 模板模式

在軟體構建過程中,對於某一項任務,它常常有穩定的整體操作結構,但各個子步驟卻有很多改變的需求,或者由於固有的原因 比如說框架與應用之間的關係 而無法和任務的整體結構同時實現。如何在確定穩定操作的前提下,來靈活應對各個子步驟的變化或者晚期的需求?定義乙個操作中的演算法的骨架 穩定 而將一些步驟延遲 變...

Java的23種設計模式

設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀態模...

模板設計模式 23種設計模式之模板設計模式

1.模板方法模式 template method pattern 又叫模板模式 template pattern 在乙個抽象類公開定義了執行它的模板。它的子類可以俺需要重寫方法實現,但呼叫將以抽象類中定義的方式進行 2.簡單說,模板方法模式定義乙個操作中的演算法的骨架,而降一些步驟延遲到子類中,使得...