守則
單元測試一定要可以直接運行 不依賴任何東西
一定要正規化資料庫
單一職責代表改需求只需改動一個地方
充血模型跟貧血模型沒有好壞
充血模型 比較優雅複雜
貧血模型 粗暴簡單
class 不要過多 會類爆炸 適度
單元測試逃不掉
single action是錯誤的
過多的class是錯誤的
repository的interface沒有function是錯誤的
組件間必須是單向關係
輔助組件必須指向核心組件 P65
步驟:
抓名詞 => user story => use case => 分析物件 模型 找出限界上下文 => 投射心智模型 => 封裝 單一職責 => 不管資料庫設計 => 每次開發都會得到新的特性 所以需要不斷調整模型和文件 => 重構
工作單元
最少驚訝原則
軟體接口如硬體接口
對象有狀態 行為 標識符
物件與物件的關聯 可以看成通道 有通道才能發送消息
對象責任代表維護知識跟可以執行的動作
正確使用 mysql Redis 事務跟 sharedlock 和 lockForUpdate
留言
張貼留言