領域驅動設計案例之實現業務3

2022-06-03 20:36:07 字數 1268 閱讀 1741

這一部分主要介紹如何實現下訂單的業務,下訂單的業務主要涉及到salesorder,orderitem,customerinfo與productinfo幾個領域物件

public

partial

class

productinfo:valueobject

}

public

partial

class

customerinfo:valueobject

}

public

partial

class

orderitem:entity

}

public

partial

class

salesorder:aggreateroot

public

void createorder(listproducts,customer customer,listamounts,

string state,string city,string

street)

irepository.create(salesorder);

}

}

在下訂單時,因為會涉及到多個聚合根的協作,所以在ddd.domain中引入乙個領域服務salesorderservice來進行協調,比如訂單項新增成功後,產品的庫存

也要相應減少。

public

class

salesorderservice

public

void createsalesorder(list productnames,listamounts,

string customername,string state,string city,string

street)

var customer = new

customer(irepositorycustomer).getcustomerbyname(customername);

var salesorder = new

salesorder(irepositorysalesorder);

salesorder.createorder(listproduct, customer, amounts, state, city, street);

}}

public

class

}

領域驅動設計之我見 領域業務

談到領域驅動設計 ddd 人們很容易想到如下這張圖,那麼是不是你的軟體做了如下的分層設計就是領域驅動設計的了?顯然不是,以下分層只能說明的軟體做了分層架構,領域驅動設計的核心在領域模型,領域模型的核心在業務知識。如果能夠採用物件導向思維將業務抽象為恰當的模型,不管用什麼架構都稱得上領域驅動設計。在大...

領域驅動設計案例 Tiny Library 簡介

應廣大的要求,我最近抽空基於asp.net mvc wcf entity framework做了乙個案例,該案例以圖書館圖書管理 讀者借書 還書為業務背景,以領域驅動設計為思想指導,全程採用microsoft技術進行實踐,希望能夠給microsoft技術的狂熱者以及領域驅動設計的學者提供實踐參考。本...

領域驅動設計案例之領域層實體與聚合根實現

在領域層中,可以實現實體與聚合根的業務邏輯,在實現業務邏輯之前,我們首先要確定實體和聚合根的一些基本行為,比如判斷實體是否相等。關於領域物件的具體業務邏輯實現,因為涉及到要與資料庫互動,所以等看完倉儲的實現後,再實現領域物件的業務邏輯。using system using order.domain....