我发现了一些关于如何组织项目(命名空间、每个文件一个类等)的问题,但更具体地讲,你如何组织密切相关的“事物”?
我通常最终得到:
- 一个接口
IMyStuff
- 为该接口提供基本骨架的基类(有时是抽象类) :
BaseMyStuff
- 实现类
MyStuffWithBellsAndWhistles
,MyStuffWithChocolateFlavours
它们应该在同一个命名空间中似乎是有道理的,但是如果我将所有这些文件放在同一个文件夹中,感觉我的文件夹开始有点过度拥挤(实际上不是一个真正的问题,但感觉很奇怪)。
在同一个文件中定义接口和基类可以吗?
或者可以将这些东西分组在子文件夹中,但在同一个命名空间中?像这样 :
-MyNamespace
|-Interfaces
| -IMyStuff
| -IMyOtherStuff
|-BaseClasses
| -BaseMyStuff
| -BaseMyOtherStuff
|-Implementation
| -MyStuffWithAwesomeBehaviour
| -MyStuffWithGreatUsefulness
| -MyOtherStuffSoNeatYouWillCry
关于这种组织的“最佳实践”是什么?