传统服务端项目都是使用一种分层架构模式(这里用 MCV 举例):
.
├── Model
│ ├── Model_A
│ ├── Model_B
│ └── Model_C
├── Controller
│ ├── Controller_A
│ ├── Controller_B
│ └── Controller_C
└── View
├── View_A
├── View_B
└── View_C
这种架构方式会有很多变种,但是大体结构相似,就是相同层级的文件会放在同一目录里。
最近,越来越多的项目使用一种以功能为边界的架构模式:
.
├── A
│ ├── Model
│ ├── Controller
│ └── View
├── B
│ ├── Model
│ ├── Controller
│ └── View
└── C
├── Model
├── Controller
└── View
有种说法说这种架构模式方便日后微服务化。
如果主要以开发效率、维护成本、可扩展性等,这些核心需求来考虑,哪种架构模式更好更具发展性呢?