0
我有一個複雜模型(在此簡化)的「Process」應用程序。該應用程序有一個Web服務這樣:從webservice中獲取實體:如何集成到DDD模型中?
Webservice | Application behind webservice
------------------------------------------------------
ProcessDTO | Process
.getLabel() | .getLabel()
| .getSubComponents()
| .execute(input) // calls ProcessComponent.execute
| ProcessComponent
| .execute(input)
ProcessService | ProcessRepository
.findProcess(id) | .findProcess(id)
.executeProcess(..)|
的問題是:如何整合利用此WebService的應用程序內Process
實體?
我想創建一個Process
實體,而不是直接使用DTO作爲一個實體的。
例如,在另一個應用程序中,我有Module
,它有Process
。
我可以掛在我的ORM中,所以「關聯」部分不是問題。問題是Module
如何執行一個進程?
通過調用
ProcessService
:這是醜陋的,因爲我也有不提供任何域邏輯貧血過程實體結束。此外,這將使Module
實體使用服務,這是不是很好?通過在
Process
中加入方法?但隨後的實體法還調用服務,這是不好的
「DTO應映射到VO」>我正在映射到一個實體:我沒有看到具有身份的'Process'如何可以是一個VO?我錯過了什麼? – 2013-04-25 15:24:57
我沒有看到域層中有'ProcessService'接口的問題,它是由體系結構層中的一個訪問web服務的服務實現的?鑑於你所說的話,你如何處理我的問題?我無法想象一個解決方案。 – 2013-04-25 15:27:23
你也可以映射到一個實體,但是請記住一個實體的身份是持久的。外部DTOs是否會作爲本地實體持續存在?如果是這樣,那麼你可以映射到一個實體。否則,映射到臨時實體是沒有意義的。事實上,調用封裝流程服務的接口沒有問題。我所說的是,實現用例需要調用外部服務的應用服務應該調用服務,而不是任何實體。 – eulerfx 2013-04-25 16:33:53