传统服务端项目都是使用一种分层架构模式(这里用 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
有种说法说这种架构模式方便日后微服务化。
如果主要以开发效率、维护成本、可扩展性等,这些核心需求来考虑,哪种架构模式更好更具发展性呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.