java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

----模板設計模式加回調函數-----

背景

spring框架中存在大量優秀的設計,如事務處理TransactionTemplate就是模板模式加回調函數的設計實現。複雜的業務邏輯也可以借鑑這種優秀的設計思路,來解決項目代碼混亂不可維護問題。

學習目標

看懂spring中模板模式加回調函數思想的源碼;

能在項目實戰中靈活運用模板模式加回調函數的優秀設計

spring源碼分析

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

測試模板調用

----模板設計模式加回調函數-----

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

模板類說明

----模板設計模式加回調函數-----

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

模板接口

----模板設計模式加回調函數-----

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

模板類

這裡如果不用callback回調函數,那模板類抽象方法會變多,導致子類必須都要實現這些接口,代碼回變的非常臃腫,而回調函數優雅的利用匿名內部類來解決這類問題,代碼就這麼解耦了。

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

回調函數

----模板設計模式加回調函數-----

UML類圖加強理解下

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

模板設計模式加回調函數UML

java應用代碼舉例

----java模板設計模式加回調函數-----

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

個性業務邏輯

----java模板設計模式加回調函數-----

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

商品管理類

1

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

商品管理接口

核心模塊方法process說明

/**

* 通用的業務代碼都可以寫這,如異常日誌的特殊處理、公共驗證什麼的、

性能日誌、構造通用的上下文參數等

* 有了他,程序員就告別了【樣板代碼亂飛】,並符合java設計原則【開閉原則】

**/

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

核心模塊方法

回調類定義在模板類中

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

回調函數匿名類

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

商品管理類

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

client模擬調用

----java模板設計模式加回調函數-----

UML類圖加強理解下

java之模板模式加回調函數最佳應用舉例「真掌握了進阿里都行」

UML模板模式回調函數

----java模板設計模式加回調函數-----

優點

  • 模板模式有利於清除樣板代碼;
  • 回調函數有利於業務類與模板類解耦;

如果覺得對你有幫助請關注收藏轉發,有錯誤請指點,歡迎來交流


分享到:


相關文章: