DDD領域驅動設計 應用層,AutoMapper

2022-08-24 22:03:08 字數 1380 閱讀 2351

我們先來寫檢視模型,就是扔給ui層的實體

public class orderviewmodel

[required(errormessage = "the order name is required")]

[minlength(2)]

[maxlength(100)]

[displayname("name")]

public string name

public listitems

public string province

public string city

public string county

public string street

}public class orderitemviewmodel

}/// /// 位址

///

public class addressviewmodel

/// /// 城市

///

public string city

/// /// 區縣

///

public string county

/// /// 街道

///

public string street

}

/// );}

}}

}這裡有兩個配置檔案,domain到viewmodel還有viewmodel到domain

有了領域物件和dtos的對映,接著就是實現應用層了。

/// 並繼承idisposable,顯式釋放資源

/// 注意這裡我們使用的物件,是檢視物件模型

///

/// 通過 dto 實現檢視模型和領域模型的關係處理

/// 作為排程者,協調領域層和基礎層,

/// 這裡只是做乙個面向使用者用例的服務介面,不包含業務規則或者知識

///

public ienumerablegetall()

public orderviewmodel getbyid(guid id)

public void register(orderviewmodel orderviewmodel)

public void dispose()

}那麼我們有了應用層,領域層,基礎設施層。就有了最簡單的ddd的框架,只需要在startup中注入簡單的ioc就可以使用。

);// 注入 基礎設施層 - 資料層

services.addscoped();

services.addscoped();}}

我把這個最簡單的體現ddd思想的例子單獨建立乙個分支,onlyddd。

接下來我會加入cqrs+event來實現微服務。

DDD領域驅動設計

公司裡面敏捷專案要講ddd領域驅動設計,加緊學習了一下,找了一些資料研究。eric evans的 domain driven design領域驅動設計 簡稱ddd,evans ddd是一套綜合軟體系統分析和設計的物件導向建模方法,本站jdon.com是國內公開最早討論ddd 之一,可訂閱 ddd專題...

DDD(領域驅動設計)

domain 領域 driven 驅動 design 設計 由eric evans最先提出,目的是對軟體所涉及到的領域進行建模,以應對系統規模過大時引起的軟體複雜性的問題。整個過程大概是這樣 開發團隊和領域專家一起通過 通用語言 ubiquitous language 去理解和消化領域知識,從領域知...

DDD領域驅動設計

極客時間學習筆記 為什麼微服務設計的時候需要ddd?1 軟體架構模式演進的三個階段 第一階段是單機架構 第二階段是集中式架構 第三階段是分布式微服務架構 2 在單機和集中式架構這兩種模式下,軟體無法快速響應需求和業務的迅速變化,最終錯失發展良機。3 微服務拆分困境產生的根本原因就是不知道業務或者微服...