DDD领域驱动之干货 (一)
說道DDD不得不說傳統的架構與DDD的架構區別。
傳統的架構不外乎就是三層,而在這三層里面又不斷的細分,始終沒有達到想要的效果,那么為什么當時還是采用三層。
當然在DDD沒有提出的時候三層是大多數人的選擇。
那么當領域驅動被提出來的時候它又能帶給我們什么樣的好處??
?近期博主看了一下dax.net大佬有關DDD的文章,這里提出自己的一些心得,本著共同學習的精神一起進步。
| ??我也來說說領域模型 |
1.為什么叫領域模型?
首先傳統的模型(這里指的只具備getter 和 setter)不包含其他業務邏輯泛指沒有具體的功能這種模型我們稱為失血(貧血)模式。
然后才是具備有業務的模型除了getter 和setter 外還有其他的業務邏輯包含在里面,比如說我有一個購物車,購物車內有5件商品,每件商品價值20元,那么在銷售訂單的時候可以這樣寫總價=5*20。當然這個例子有點牽強,意會意會就行了。
2.下面我們看看代碼是如何設計。
首先我們有個user、address、saleorder、salelines、Categorization、Category、Product、userrole、ShoppingCart、ShoppingCartItem幾個類
如下圖。
? ? ? ? ? ?
其中聲明IEntity領域實體接口、IAggregateRoot聚合根集合、AggregateRoot聚合根接口的抽象類。
這里不得不提到聚合個概覽。
引用一下圖片:
? ? 生成的數據庫模型如下圖:
相關文章:?
??WeText項目:一個基于.NET實現的DDD、CQRS與微服務架構的演示案例
【DDD/CQRS/微服務架構案例】在Ubuntu 14.04.4 LTS中運行WeText項目的服務端
原文地址:http://www.cnblogs.com/edna-lzh/p/6869416.html
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的DDD领域驱动之干货 (一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IdentityServer4(OAut
- 下一篇: 使用DotNetty编写跨平台网络通信程