1. 程式人生 > >Spring原始碼之設計模式

Spring原始碼之設計模式

一.代理模式
分為jdk代理和cglib代理。(前者實現介面,後者生成繼承)
1.兩個參與角色:執行者和被代理人
2.對於被代理人來說,這件事情是一定要完成的,但是自己又不想做或者沒有時間做,找代理。
3.需要獲取到被代理人的資料。
歸納:辦事要求人,所以找代理。
二.工廠模式
分為簡單工廠、工廠方法、抽象工廠。
1.對呼叫者隱藏複雜的邏輯處理過程,呼叫者只關心執行結果。
2.工廠要對結果負責,保證生產出符合規範的產品。
歸納:只對結果負責,不要三無產品。
三.單例模式
1.保證從系統啟動到系統終止,全過程只會產生一個例項。
2.當我們在應用中遇到功能性衝突的時候,需要使用單例模式。
歸納:保證獨一無二
四.委派模式
1.兩個參與角色,委託人和被委託人。
2.委託人和被委託人在權利上完全平等(即實現同一個介面)。
3.委託人持有被委託人的引用。
4.不關心過程,只關心結果。
歸納:幹活是你(普通員工)的,功勞是我(專案經理)的。
五.策略模式
1.執行最終結果一樣。
2.執行過程和執行邏輯不一樣。
歸納:不同的實現,達到同樣的目的就行。
六.原型模式
1.首先有一個原型。
2.資料內容相同,但物件例項不同(完成兩個不同的記憶體地址)。
歸納:拔一根猴毛,生出千萬個。
七.模板模式
1.執行流程固定,但中間有些步驟有差別。
2.可實現批量生產。
歸納:流程標準化,原料自己加。
例:jdbc模板。