我目前正在为一个新的Zend Framework 2项目使用DDD(域驱动设计)。一切正常,但我确实有关于应用程序服务的问题。在DDD内使用ZF2控制器插件进行应用程序服务?
我知道应用程序服务位于应用程序层,并且是域逻辑的入口点。例如,他们可以访问域服务或存储库。
现在我想知道是否应该将应用程序服务作为控制器插件来实现。在经典的MVC应用程序中,这个控制器插件可以处理来自被叫域服务或存储库的结果。根据这些结果,他们可以生成重定向响应或将数据/表单传递给ViewModel。如果这个逻辑封装在一个插件中,我的控制器只需调用插件并返回插件的结果。
我完全错了吗?或者你宁愿保留逻辑如何对控制器中的域服务或存储库的结果作出反应?
最好的问候,
拉尔夫
我不确定您在域和应用程序服务之间做出的实际区别。我想你可以为你的服务类制作插件,但目前我看不到优势。我有控制器工厂,并注入控制器所需的服务。有时候我的服务本质上就像存储库一样,但我仍然一直定义一个服务,因为应用程序定义了一个基本服务,它处理所有的域安全。 – dualmon 2015-03-02 15:50:04
那么域服务只处理属于域的东西,而应用服务则是作为应用程序和域之间的网关处理。这些应用程序服务将注入存储库或域服务,并且控制器获取注入的应用程序服务。 – Frille2012 2015-03-04 12:46:26