領域服務與應用服務的職責
我們知道,在領域設計中,劃分為三種模型,分別為:實體(Entity)、值物件(Value Object)、和服務(Service)。其中Service與我們傳統設計中的Service有什麼不同呢?
讓我們來回憶一下,通常我們針對將讀寫xml、資金轉賬等程式碼放在service中,可以看出,該層包括了兩種含義,一種是與業務無關的,一種是與業務緊密關聯的。領域驅動設計將這兩層含義進一步劃分,《Domain-Driven Design》中的例子那樣:如果銀行應用可以將我們的交易轉化並輸出電子表格檔案,那麼這種輸出就應該是應用服務。而負責處理資金轉帳的借貸關係,應該屬於領域層,它包括了基本的業務邏輯,而技術層上的服務則根本沒有任何業務含義。由此得知,將傳統設計中的Service繼續劃分,得到應用服務與領域服務。領域層和應用層的服務是相互合作,由應用Service指揮領域物件來解決問題。
如此劃分,可以使各層的結構和職責更加清晰,技術與業務進一步分離。
以上是我個人的理解,有不對之處還請指正。
另仔細閱讀實戰DDD(Domain-Driven Design領域驅動設計),在該文中說到:“在JiveJdon3中,com.jdon.jivejdon.service.ForumService和Forum實體模型及其值物件ForumState共同完成領域模型,其中ForumService屬於應用服務層;而後兩者屬於領域層;其他服務ForumMessageService、AccountService和UploadService等都是此類性質。”在JiveJdon3中並沒有對領域與應用Service進行明確的劃分,而是由ForumService來完成。JJ3的程式碼我沒有看過,只是從這段文字還這樣判斷的,有不對之處還請包含。請問,JJ3中是否對Service進行了劃分?如果沒有那麼您是怎樣考慮的呢?
讓我們來回憶一下,通常我們針對將讀寫xml、資金轉賬等程式碼放在service中,可以看出,該層包括了兩種含義,一種是與業務無關的,一種是與業務緊密關聯的。領域驅動設計將這兩層含義進一步劃分,《Domain-Driven Design》中的例子那樣:如果銀行應用可以將我們的交易轉化並輸出電子表格檔案,那麼這種輸出就應該是應用服務。而負責處理資金轉帳的借貸關係,應該屬於領域層,它包括了基本的業務邏輯,而技術層上的服務則根本沒有任何業務含義。由此得知,將傳統設計中的Service繼續劃分,得到應用服務與領域服務。領域層和應用層的服務是相互合作,由應用Service指揮領域物件來解決問題。
如此劃分,可以使各層的結構和職責更加清晰,技術與業務進一步分離。
以上是我個人的理解,有不對之處還請指正。
另仔細閱讀實戰DDD(Domain-Driven Design領域驅動設計),在該文中說到:“在JiveJdon3中,com.jdon.jivejdon.service.ForumService和Forum實體模型及其值物件ForumState共同完成領域模型,其中ForumService屬於應用服務層;而後兩者屬於領域層;其他服務ForumMessageService、AccountService和UploadService等都是此類性質。”在JiveJdon3中並沒有對領域與應用Service進行明確的劃分,而是由ForumService來完成。JJ3的程式碼我沒有看過,只是從這段文字還這樣判斷的,有不對之處還請包含。請問,JJ3中是否對Service進行了劃分?如果沒有那麼您是怎樣考慮的呢?
相關文章
- 領域服務和應用服務的差別?
- DDD-領域物件與領域服務物件
- 區塊鏈的應用領域——公共服務(三)區塊鏈
- 人工智慧商務服務領域應用前景演講(附PPT)人工智慧
- 初識ABP vNext(11):聚合根、倉儲、領域服務、應用服務、Blob儲存
- WCF 服務應用程式與 服務庫之間的區別
- 領域驅動設計戰術模式--領域服務模式
- 領域服務和領域事件如何取捨?或共存?事件
- DNS服務應用DNS
- AD域服務
- 工位出租,場景服務領域升級
- 北京市政務服務領域區塊鏈應用創新藍皮書(附下載)區塊鏈
- Qt服務應用操作QT
- silky微服務的應用服務和服務條目微服務
- Spring GraphQL與Netflix領域圖服務框架整合Spring框架
- 【Azure 應用服務】Azure App Service 自帶 FTP服務APPFTP
- 微服務的服務間通訊與服務治理微服務
- 到底什麼是微服務?其實就是DDD領域服務微服務
- 新林和域服務
- 領域驅動模型DDD(一)——服務拆分策略模型
- 分散式應用服務的拆分分散式
- RPA機器人流程自動化在IT服務領域的7個應用案例機器人
- ABP之應用服務(1)
- nginx服務企業應用Nginx
- 構建應用層服務
- 會計工作職責與任務
- statista:Google對雲服務領域充滿野心Go
- 構建Spring Boot應用的微服務服務監控與告警Spring Boot微服務
- AWS釋出五大用於工業領域的機器學習服務機器學習
- 微服務架構中的服務邊界與服務識別微服務架構
- 用 Ansible 部署無服務應用!
- Linux應用伺服器搭建手冊—Weblogic服務域的建立與部署Linux伺服器Web
- Now冥想:崩潰服務和效能服務助力提升應用質量
- 8 Apply Services 應用服務APP
- 管理Mac應用使用定位服務Mac
- 應用服務攻擊工具clusterd
- 清潔取暖監管服務應用
- 服務設計的原則:服務模式與反模式模式