最近從多種不同渠道瞭解到DDD領域驅動設計,對複雜業務的設計具有特別好的效果,本人負責的是電商業務的交易系統,正好是很適合的。 那麼應該怎麼把當前數據庫驅動設計切換DDD呢?
數據庫設計驅動特點
- 一般分爲Controller, Service和Repository
- 貧血模型:業務實體類一般都只有getter/setter,不包含任何業務邏輯
- 複雜的service:業務邏輯都分佈在各個service中
切換
- service中的業務邏輯遷移到實體類(形成領域類),充血模型
- 遠程調用怎麼處理?
遷移到factory類,比如庫存扣減等
- 多個實體類如何一起處理?比如訂單表和訂單商品表的寫入
領域類是訂單OrderDomain:下單操作後,可以生成兩個實體類,分別是訂單實體和商品列表實體