"Read-Model"
- 讀模型的升級判準
repository 開始長出畫面專用查詢方法、或有人提議「上 CQRS」時使用。讀側是一道階梯而不是開關:訊號決定該爬到哪一階,自檢問句是「這個查詢回傳的是讀的形狀、還是 aggregate 的形狀」。
- Read Model
查詢該由 repository 回 aggregate、還是該有自己的查詢側模型時使用。read model 是為讀需求的形狀而建的模型——回答「畫面需要什麼形狀」、與 aggregate 的形狀分離。
- CQRS
有人提議「上 CQRS」、或想知道讀寫分離該做到多徹底時使用。CQRS 是把讀操作與寫操作的模型拆開的架構決定——寫側守一致性、讀側服務查詢形狀,兩者可以各自有獨立的儲存與更新節奏。
- 自持狀態與可導出狀態:上游身份轉移時,誰要搬家、誰自動對齊
後端合併操作讓資料換了身份,前端持有的多份「以舊 id 為 key」的狀態怎麼辦?POS App 的答案分兩類:能從上游重新導出的狀態不用管、下一輪同步自動對齊;必須自行持有的狀態(差異比對基準、追蹤記錄)才需要通知搬家。分類錯誤的代價是兩個方向的 bug。