Java設計模式學習筆記1

2021-08-07 15:45:50 字數 998 閱讀 4142

用最簡單加減法來舉例:

calculate 計算方法介面

public

inte***ce calculate

分別建立add以及sub子類並實現其邏輯

public

class

addimplements

calculate

}public

class

subimplements

calculate

}

建立calculatefactory工廠類

public

class calculatefactory

return

null;

}}

客戶端中呼叫calculate的calculate方法即可實現運算

calculate calculate=calculatefactory.getcalculateinstance("+");

calculate.calculate(1,2);

同樣的以加減法來舉例,calculate 計算方法介面及其子類就不重複了。他們兩者的區別,個人感覺還是比較模糊的,如果把 strategy的context類同樣命名為calculatefactory,兩者的區別可能就變得比較明顯了

public

class calculatefactory

}public

intgetresult(int a, int b)

}

客戶端中呼叫calculatefactory的getresult方法即可獲取結果

new calculatefactory("+").getresult(1,2);
縱觀兩者,都是通過抽象封裝了變化。簡單工廠模式對不同類的建立的封裝;而策略模式則是封裝了不同的演算法,直接返回所需要的結果。

Java設計模式之責任鏈模式 學習筆記1

設計模式之責任鏈模式 chain of responsibility 是web專案中最經常用到的乙個設計模式,比如是apache tomcat 的對encoding的 處理,struts2 的 jsp servlet 的filter 等等,都是基於責任鏈模式設計的。下面直接來模擬web傳送乙個請求r...

設計模式學習筆記(1)

概述部分 一 設計模式的概念 1 設計模式包括4個基本要素 模式名稱 問題 解決方案 效果。2 如何描述設計模式 模式名和分類 意圖 該設計模式是做什麼的,它的基本原理和意圖是什麼,它解決的是什麼樣的特定設計問題 別名 其它名稱 動機 提出乙個設計問題,並且用該模式中的類 物件來描述如何解決此問題 ...

設計模式學習筆記 1

針對介面程式設計,而不是針對實現程式設計 優先使用物件組合,而不是類繼承 分裝變化點 使用重構得到模式 不要把設計模式當成技巧 單一職責原則 乙個類應該僅有乙個引起它變化的原因。file fileinfo 開發封閉原則 類模組應該是可擴充套件的,但不可修改的 對擴充套件開放,對更改封閉 為什麼不可修...