1. 分離關注 2. 看看是否違反單一職責 3. 如何測試 4. 封裝是否有直接被使用到的數據 5. 封裝變化的部分 6. 尋找其他可能出現的類 7. rdd 誰應該被分配什麼職責 8. 接口編程 9. solid 單一職責 開閉原則 接口隔離 里氏替換 依賴倒置 10. grasp 職責分配原則 * Information Expert * Creator * Controller * Low Coupling * High Cohesion * Indirection * Polymorphism * Pure Fabrication * Protected Variations 11. 設計一個function 先考慮怎麼使用這個function比較方便 12. 不要相信前端數據 後端應該要隨時驗證資料是否合法 13. interface 即服務 14. 面向接口 https://www.gushiciku.cn/pl/g2Y6/zh-hk https://learnku.com/articles/30034 https://ithelp.ithome.com.tw/articles/10254804 於封裝也稱為信息的隱藏,體現的最淋漓盡致的地方就是來定義接口了,在接口中我們沒有任何功能的實現,只是定義了一系列抽象的方法聲明。在Java中接口是體現封裝最常用的方法 封裝的好處 : 1、實現專業的分工 2、減少代碼的耦合 二、繼承 : 所謂繼承是Java中面向對象最顯著的一個特徵,繼承是從已有的類中派生出新的類,新的類可以吸收已有的屬性、行為,並擴展新的能力。在Java中不支持多繼承,單繼承使Java的繼承關係很簡單,一個類只能有一個父類,這樣易於我們的管理,同時父類也是子類的抽象化,而子類反過來就是父類的具體化 三、多態 : 多態是三大特性中最後出現也是最重要的特性,前面的封裝和繼承都是為多態來服務的。 多態 :多態是同一個行為具有多個不同表現形式或形態的能力 ADP 無環依賴原則 在元件的依賴關係圖中不允許出現環 SDP 穩定依賴原則 朝著穩定方向進行依賴 SAP 穩定抽象原則 元件的抽象程度應該與元件的穩定程度一致 好的架構幫助你拖延決定 尖叫架構