設計模式之GOF23模板模式

2021-10-06 04:10:23 字數 609 閱讀 1061

模板模式template method

場景:具有具體流程,但具體某一步的業務不同

到銀行辦理業務:排隊取號,辦理業務,給員工打分

請客吃飯:等待,點單,吃飯,結賬

模板方法模式介紹:模板方法是程式設計常用的模式,它定義了乙個操作中的演算法骨架,將某些步驟延遲到子類中實現。這樣,新的子類可以在不改變乙個演算法結構的前提下重新定義該演算法的某些特定步驟。

核心:處理步驟(流程)由父類定義好,具體實現延遲到子類中定義

結構:抽象父類(決定流程以及抽象的業務方法等著子類實現),不同的子類實現不同的業務,客戶端(使用匿名內部類或不同的類實現相同的流程中某部分的不同業務)

本質:多型

例子:銀行(排隊,不同業務,評分)

public abstract class bank

public abstract void transact();//鉤子方法,具體不同的業務

public void evalute()

public void process()

}public class client };}

}class drawmoney extends bank

}

GOF23 設計模式

design patterns elements of reusable object oriented software 即後述 設計模式 一書 由 erich gamma richard helm ralph johnson 和 john vlissides 合著 addison wesley,...

GOF23 設計模式 之工廠模式

工廠模式本質 例項化物件,工廠方法代替new操作 將實現類和建立物件統一管理和控制,將呼叫者和實現類解耦 工廠模式分為了三種 1,簡單工廠模式 最常用 對於新增產品 要修改 2,工廠方法模式 新增產品不用修改 複雜度高 3,抽象工廠模式 可以增加產品族,進行產品之間的搭配 一般用的少,框架可能會用到...

GOF23 設計模式 之狀態模式

狀態模式 就是事務有很多種狀態時需要應對的一種設計模式 場景有 1,銀行賬號狀態 2,酒店系統 3,多執行緒執行緒狀態 實現 1,狀態介面 package state public inte ce state2,狀態實現類 package state public class empty imple...