我无法确定我创建的服务是域名服务还是应用程序服务。从我阅读的书" PHP中的领域驱动设计",据说应用服务就像一个"用户签名请求",访问存储库并验证用户是否存在或不。但是,他们采用相同的示例将其实现为域服务,因此我无法区分它们。
我的情况如下:我正在创建一个动态页面构建器。一个页面尽可能多的块,它们都是基块的子类。 Base Block的每个子类都有自己的业务规则,允许用户自定义其设计(基本上它应该返回一个表单,每个Block都不同)。
我从用例&#34开始;用户想要在页面上添加[特定块]。
我想知道这是域服务还是应用服务。非常感谢任何帮助
答案 0 :(得分:3)
您的应用程序服务通常负责编排用例,并执行诸如从持久性加载/保存聚合的操作。
即。类似的东西:
public void SomeUseCase()
{
var aggregate = _repository.Load(someId);
aggregate.ApplySomeBehaviour(someDomainService);
_repository.Save(aggregate);
}
而域名服务更具特定于域行为,例如RateCalculator - 某些对象不适合聚合概念,但包含您需要在域中捕获的行为。
可能重复