7月28日的平常學習記錄html
不要編寫大段代碼設計模式
將段落封裝成一個又一個函數數組
在編寫代碼的工程中養成不斷重構的習慣函數
函數設計遵循的原則:職責驅動設計學習
從上往下的編寫:每一個被分出去的程序,能夠暫時只寫一個空程序而不去具體實現功能,當主程序完成之後,再一個個實現它的全部子程序。ui
當一個函數的代碼行數達到15-20行,開始考慮是否須要重構代碼。url
一個類不該當有太多的函數,函數過多要考慮分爲多個類,一個包也不該該有太多的類設計
釋義名稱:new/add , edit/mod , del , find/queryhtm
釋義名稱:get開頭的函數僅僅用於獲取類屬性對象
註釋:職責驅動設計,首先描述該類的職責
註釋:編寫的是一個藉口 or抽象類,在@author後添加@see,將該接口的抽象類的全部實現類列出來
代碼不能寫死(路徑爲相對路徑 or 經過屬性文件修改 )
預測可能發生的變化
將某些條件設置爲可配置的,須要必要的註釋
提升代碼的可複用性
對模型進行分析,用例模型,領域模型,分析模型,正向工程,逆向工程
利用設計模式提升可變動性:經典的32個模式
if...else : (重構一下,保證不修改原有代碼,僅僅增長新的代碼就能應付選項的增長):寫成父類方法
選項較多,而且增長選項的可能性很大的狀況下可使用工廠模式
策略模式:解決繼承出現的問題,減小類的繼承,在類中增長某些方法的策略來代替繼承,能夠無限制的增長策略
適配器模式:設計的系統要與其餘系統/模塊交互,可能調用接口或交換數據。我方的接口按照某個協議編寫,保持固定不變,在於真正對方接口時,在前段設計一個適配器類,對方協議變動,能夠更換適配器。(啓發:相似於rank中的service層,傳的參數也一樣儘可能不要限制,而是傳遞數組)(經過適配器接受數據or傳輸數據)
模板模式:一般有一個抽象類,在抽象類中有一個主函數,按順序調用其餘函數(啓發:相似於JdbController extends Controller),比較個性的步驟由其繼承類完成。父類的主函數應當是final,其中的函數能夠是可選步驟,稱爲【hood】,在編寫時,抽象類中並非抽象函數,而是一個空函數,繼承類能夠重載,也能夠什麼也不寫,爲空執行。
職責驅動設計(RDD) & 領域驅動設計(DDD)
根據職責分配行爲和函數
根據需求進行用例分析,根據用例繪製領域模型和分析模型
《UML和模式應用》:RDD以職責爲中心分配行爲,軟件對象與現實世界儘可能保持一致(低表示差別)
《領域驅動設計》:領域模型,需求分析階段創建領域模型
高內聚低耦合
領域模型
工廠模式 based on 多態
用例模型
參考:url-link