設計模式與簡單應用之模板模式

2021-10-09 08:16:30 字數 944 閱讀 3197

模板模式又叫模板方法模式(template method pattern),指定義乙個演算法的骨架,並允許為乙個或者多個步驟提供實現。模板模式使得子類可以在不改變演算法結果的情況下,重新定義演算法的某些步驟,屬於行為型設計模式。模板模式適用於以下場景:

一次性實現乙個演算法的不變部分,並將可變的行為留給子類來實現。

各子類中公共的行為被提取出來並集中到乙個公共的父類中,從而避免**重複。

spring 在*template中用到了模板模式,但是spring並沒有單純的使用模板模式,而是使用了模板+callback模式來做的,這樣增加了靈活性。

首先單純用模板模式實現乙個jdbctemplate

public abstract class jdbcabstracttemplate 		

public abstract object doinstatement(string res);

}

public class jdbctemplate extends jdbcabstracttemplate 

public static void main(string args)

}

執行結果為:

連線資料庫

執行sql

然後我們看下spring在實現的時候是怎麼做的(這裡只是簡單的做個實現,不喜勿噴)

public inte***ce callback
public class jdbctemplate 

}

public class test 

});}}

執行結果為:

連線資料庫

執行sql:sql

這樣就靈活了很多…

Spring 應用之模板方法設計模式

模板方法模式是行為設計模式的一種,它定義乙個操作中演算法的骨架,而將一些執行步驟延遲到了子類中。模板方法使得子類可以不改變演算法本身的結構,即可重新定義該演算法的某些特定步驟的實現方式。模板方法設計模式 uml 圖 public abstract class template protected v...

Spring 應用之單例設計模式

在系統開發中,有些物件其實只需要乙個,比如說 執行緒池 快取 日誌物件等。在 spring 框架中,就大量應用到了單例設計模式。使用單例模式的好處 spring 中 bean 的預設作用域就是 singleton 的。除了 singleton 作用域,spring 中 bean 還有下面幾種作用域 ...

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

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