我目前有一个项目,每天都在增加规模。它是我提供的API的容器。
我目前在root中拥有所有类和所有接口。
我已将我的Enums,Contants等分隔到他们自己的文件夹中,但我没有继承该文件夹作为命名空间的一部分,它们只是容器以保持整洁。
我想知道是否有人有这方面的经验?
我是否应该将我的接口分隔到他们自己的文件夹中(不将该文件夹作为命名空间的一部分继承)
我是否应该将课程分开?
我也有类是其他类的子类。即类将其实现为属性。因此它永远不会在外面实例化。所以我应该将它们进一步分开并放入(例如)一个名为“Products”的文件夹,在这个文件夹中我会有我的Product类,然后是我的item类和其他特定于Product的类?
同样,使用该文件夹作为分隔符的手段,而不是作为命名空间的一部分继承文件夹名称。
我很想听到一些反馈。
由于
答案 0 :(得分:2)
在开发过程中很少出现这种情况。实际上,在大多数情况下,您最终会拥有单独的项目,而不是具有大量文件夹的单个项目。就个人而言,我认为一个复杂的项目有明显的代码味道。如果没有别的,你的项目将无法快速编译,因为它被编译为一个块,而单独的项目可以并行编译(或多或少 - 它们都受依赖项影响)。
那就是说,如果你真的想把所有东西都放在一个项目中,这就是我对它的看法:
Infrastructure
的文件夹,确保它不是命名空间提供程序并将所有常见内容放在那里。Entities
的文件夹(因此我的命名空间为{ {1}})包含单个位置的枚举和类。 (另请注意,如果您突然将其迁移到名为MyProject.Entities
的项目,则无需更改名称空间。)总结一下 - 尝试按功能分组文件,而不是按类型分组。