設計模式學習心得
阿新 • • 發佈:2018-12-16
近日受一位資深程式設計師大牛寫的一篇學習路線建議的部落格影響,《大話設計模式》一書,同時參考“設計模式”一書。此篇部落格為讀《大話設計模式》的學習心得筆記,將在每天的 學習中,不斷更新...
簡單工廠模式
簡單工廠模式,運用了java繼承的特點,在基類中定義方法作為父類方法,當出現多種情況,分別對這個方法有不同的 操作的時候。子類繼承父類,然後重寫方法,來實現符合自己的要求。當有新情況出現的時候。可以在不影響其他子類的 情況下,新增一個類,重寫基類方法,來實現符合該需求的方法。 例如:一個計算類,有一個getResult方法,加減乘除,分別繼承這個計算類,當有出現其他計算,入平方計算的時候, 只需要新增一個平方的類,重寫getResult方法即可。
策略模式
策略模式為用來封裝演算法的一種設計模式。
例如1:陣列排序的演算法非常多。有二分法,冒泡法等等。遵循單一職責原則,演算法只做演算法的真正實現,而不做演算法的選擇工作。將演算法統一由一個策略抽象類來宣告,然後由其各種子類來實現具體的演算法。當環境類要呼叫時,通過例項化具體的子類,來選擇所需要的演算法。可將所需要的具體演算法類(具體策略類類名)定義在config.xml配置檔案中,通過取配置檔案的類名+反射機制,來例項化具體策略實現類的例項來實現具體功能。
由環境類或客戶端來決定具體使用哪種具體策略類。當需要新增新演算法時,只需要新增具體策略類,實現抽象類的方法,並修改配置檔案的具體策略類類名來實現功能即可。