关于对DDD应用层的疑惑
在《领域驱动设计》中提到了应用层。有人说发短信属于应用层的东西。比如说工作流中某人审批成功后,系统会自动发送一条短信通知下一处理人,那么在应用层可以有一个handle()的审批方法,它会调用领域层中的审批方法,成功之后应用层的handle会接着调用基础结构层的相关类及方法发送短信通知。
我的疑问就是:
1、如果不需要发送短信通知的话,应用层就只调用领域层的审批方法,相当于一个门面。这时候应用层还有没有必要呢?
2、另外,是不是显示层编码者只能调用应用层,而不能调用领域层?那这样的话,应用层就更像个门面了。比如对User模块的操作,如果显示层编码者只需要添加用户功能,是不是应用层就只需提供addUser()方法,这个方法调用领域层或者基础结构层的addUser()方法呢?虽然在领域层或者基础结构层现在已经有了删除用户的方法,但是此时显示层编码者不需要,应用层是不是就不需要提供该服务了呢?
虽然例子太过于简单,或许不需要用领域驱动的方式进行系统设计。但是如果这个能讲明白了,延伸到复杂系统的话就好理解多了。
谢谢各位有见解之仕给予指点!