物件導向設計

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 穩定抽象原則

元件的抽象程度應該與元件的穩定程度一致 


好的架構幫助你拖延決定

尖叫架構

留言

這個網誌中的熱門文章

WINDOWS cmd 操作:查看進程、TCP連線、刪除TCP連線和進程

mongodb aggregate 筆記

mongodb shell 操作