關於對DDD應用層的疑惑

glenko發表於2010-05-16
在《領域驅動設計》中提到了應用層。有人說發簡訊屬於應用層的東西。比如說工作流中某人審批成功後,系統會自動傳送一條簡訊通知下一處理人,那麼在應用層可以有一個handle()的審批方法,它會呼叫領域層中的審批方法,成功之後應用層的handle會接著呼叫基礎結構層的相關類及方法傳送簡訊通知。
我的疑問就是:
1、如果不需要傳送簡訊通知的話,應用層就只呼叫領域層的審批方法,相當於一個門面。這時候應用層還有沒有必要呢?
2、另外,是不是顯示層編碼者只能呼叫應用層,而不能呼叫領域層?那這樣的話,應用層就更像個門面了。比如對User模組的操作,如果顯示層編碼者只需要新增使用者功能,是不是應用層就只需提供addUser()方法,這個方法呼叫領域層或者基礎結構層的addUser()方法呢?雖然在領域層或者基礎結構層現在已經有了刪除使用者的方法,但是此時顯示層編碼者不需要,應用層是不是就不需要提供該服務了呢?
雖然例子太過於簡單,或許不需要用領域驅動的方式進行系統設計。但是如果這個能講明白了,延伸到複雜系統的話就好理解多了。
謝謝各位有見解之仕給予指點!

相關文章