我正在使用 Zend Framework 构建一个 MVC 应用程序。该模型包括单独的域和映射器层,服务层位于顶部。
对于我的一些域对象,当我创建一个新实例时,我需要创建由第一个对象组成的其他域对象。例如,当我创建一个新的组织对象时,我可能会添加一个 Employee 对象(基于当前用户)和一个 Location 对象(基于当前用户的位置)。
到目前为止,我一直在父对象的构造函数中创建这些(在本例中为组织)。这没关系,但是它确实在组织和它的孩子之间创建了不必要的依赖关系。
我更愿意在服务层中创建孩子,但是如果我这样做,我会让自己陷入困境吗?
在阅读了关于服务层的 Martin Fowlers (POEAA) 章节后,我认为这归结为这是领域逻辑还是应用程序/工作流逻辑。在我看来,它是边界线......(请注意,我的服务层已经不仅仅是一个门面)。