設計模式 模板設計模式

2021-10-19 13:05:09 字數 1958 閱讀 8698

1)抽象類

abstractclass類中實現了模板方法(template),定義了演算法的骨架,具體子類需要去實現,抽象方法operationr2,3,4

template()

operationr2,3,4可以是抽象方法,也可以是實現方法;如果是抽象方法,需要到子類實現即可

2)實現類

concreteclass實現operationr2,3,4,完成演算法中的特點子類的步驟

1)建立模板類

public abstract class soyamilk 

// 選擇材料

void select()

//新增不同的佐料,抽象方法,子類實現

abstract void addcondiments();

//浸泡

void soak()

void beat()

}

2)建立實現類

public class peanutsoyamilk extends soyamilk 

}

public class readbeansoyamilk extends soyamilk 

}

3)啟動類

public class clien 

}

4)結果

在父類中,定義乙個方法,它預設不做任何事情,子類可以視情況要不要覆蓋它,該方法成為鉤子.
1)建立模板類

public abstract class soyamilk 

soak();

beat();

}// 選擇材料

void select()

//新增不同的佐料,抽象方法,子類實現

abstract void addcondiments();

//浸泡

void soak()

void beat()

//鉤子方法

boolean customerwantcondiments()

}

2)建立實現類

public class peanutsoyamilk extends soyamilk 

}

public class readbeansoyamilk extends soyamilk 

}

public class puresoyamilk extends soyamilk 

//覆蓋鉤子方法

@override

boolean customerwantcondiments()

}

3)啟動類

public class clien 

}

4)結果

1.基本思想: 演算法只存在乙個地方,也就是父類中,容易修改,需要修改只需要修改父類**,子類會繼承這些修改

2.實現了最大化**復用

3.既統一了演算法,也提供了很大的靈活性

4.不足:每個不同實現都需要乙個子類,導致子類數量增加,系統太龐大

5.模板一般都加上final,防止子類重寫模板方法

要完成某個過程,該過程執行一系列步驟,這一系列步驟基本相同,其中個別步驟實現不同,通常考慮模板模式.

模板設計模式 設計模式 模板方法模式

在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...

模板設計模式 設計模式之模板模式

模板模式,通常又叫做模板方法模式,乙個抽象類公開定義了執行方法的模板,它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方法進行,這種型別的設計模式屬於行為型模式。模板模式主要解決將通用的演算法抽象起來,同樣的 邏輯出現了重複,就可以使用模板模式進行重構。關鍵 在抽象類實現,其他步驟在子類實現...

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

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