在我使用过的大多数 MVC / MV* 类型框架中,他们希望您的源代码组织如下:
model/
FooModel.xyz
BarModel.xyz
view/
FooView.xyz
BarView.xyz
controller/
FooController.xyz
BarController.xyz
基于 MVC 元素而不是应用程序对象类型组织到目录中。如果代码是这样组织的,我的某些部分总是觉得生活会更轻松:
Foo/
FooModel.xyz
FooView.xyz
FooController.xyz
Bar/
BarModel.xyz
BarView.xyz
BarController.xyz
因为一般来说,如果我正在处理 Foo(例如添加一个新字段),我经常会打开所有 Foo* 文件,这很乏味(第一世界问题),因为所有 Foo 文件都位于不同的目录中。
这是 Foo 源之间耦合太紧的代码味道吗?
当然,当我们的模型、视图或控制器没有相应的视图、控制器和模型时,这种替代方案的吸引力会降低。这通常是(通常?)情况......
那么为什么 MV* 框架的标准组织实际上比我提出的稻草人替代方案更好?