天天看點

Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware領域

作者:甘道實驗

Domain-Driven Design –Tackling Complexity in the Heart of Software 領域驅動設計—軟體核心複雜性應對之道,

CQRS 使用分離的接口将資料查詢操作(Queries)和資料修改操作(Commands)分離開來

> 失血模型:是僅包含屬性的 getter/setter 方法的資料載體,沒有行為和動作,業務邏輯由服務層完成。

> 貧血模型:包括了屬性、getter/setter 方法,和不依賴于持久化的原子領域邏輯,依賴于持久層的業務邏輯将會放到服務層中。

> 充血模型:包含了屬性、getter/setter 方法、大部分的業務邏輯,包括依賴于持久層的業務邏輯,是以使用充血模型的領域層是依賴于持久層,服務層是很薄的一層,僅僅封裝事務和少量邏輯。

> 脹血模型:取消了 Service 層,脹血模型就是把和業務邏輯不相關的其他應用邏輯(如授權、事務等)都放到領域模型中。

Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware領域
Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware領域
Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware領域
Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware領域
Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware領域

繼續閱讀