我正在尝试从域驱动设计中实现几个概念,例如Bounded Contexts和模块。
我正在研究Symfony2项目,我想使用DDD方法。 Symfony2有捆绑包,每个捆绑包有几个用于服务,实体,控制器,视图等的文件夹。
我希望我的应用程序有一个像这样的分层方法:
这是一个带有图层的单一有界上下文。
如何将有界上下文,图层及其模块映射到Symfony2中的包?
注意:我知道DDD不仅仅是一个文件夹结构,但我想在这里解决这个问题。
答案 0 :(得分:1)
您可以(并且必须)编写与您的域层框架无关的内容,以便您遵循DDD最佳实践并按照您喜欢的方式设置文件夹。一个好的框架不会限制你自己的文件夹结构。 您可以将捆绑包视为域的集成层到Symfony中。
捆绑包基本上只需添加:
我有一个像这样的基本文件夹结构:
因此,您不要将域逻辑放入捆绑包中。您只需使用它们在您的域中添加框架逻辑。