DDD - 什么是正确的代码结构

时间:2016-10-25 07:16:31

标签: architecture domain-driven-design directory-structure legacy

我正致力于改善项目结构的遗留项目。我的问题是我应该如何组织代码结构。我看到两个选择:

  

#1 business-domain / layer

app/
----accout/
--------application/
--------domain/
--------infrastructure/
----client/
--------application/
--------domain/
--------infrastructure/
----transfer/
--------application/
--------domain/
--------infrastructure/
  

或#2 layer / business-domain

app/
----application/
--------account/
--------client/
--------transfer/
----domain/
--------account/
--------client/
--------transfer/
----infrastructure/
--------account/
--------client/
--------transfer/

哪种方法更适合遗留项目?根据您的经验,哪个更好?

从我的观点来看,#1将在进一步重构期间启用系统解耦。另一方面,#1似乎更容易实现遗留项目。

1 个答案:

答案 0 :(得分:1)

根据书籍ddd in php,您可以创建模块,在这种情况下,它将如下所示:

└──src
   ├── Application
   ├── Domain
   │   └── Model
   │       ├ Account
   │       ├ Client
   │       └ Transfer
   └── Infrastructure

但是,如果您考虑在功能中创建微服务(如果您的项目非常庞大),您可以按照#1 选项进行操作,因为将它们拆分为单独的项目会更容易。