SOLID 原則的核心是管理程式碼的依賴來降低未來變化帶來的衝擊
不可違背的教條:SOLID 更像是建議以及溝通工具,要了解背後的原因跟限制才能知道何時遵守何時打破
存粹個人技術:推行到團隊建立共識才走得下去
存粹的技術領域:決策需要有領域知識的支持跟團隊的權衡
望文生義:命名有歷史背景,內容會隨時間改變,要了解才不會過度理解

什麼時候抽 interface 不會影響可讀性 高階模組為系統最重要的部分,業務邏輯最重要 不插電守則:把插頭拔掉後還會 work 的情境 interface 要與高階模組放在同個 Module
OCP 是理想狀態,很難不修改既有的程式碼,尤其是修 bug 時 希望 client 不改,可以朝向維持 client 不改
穩定的 interface:只針對核心行為與只抽出最重要的參數
