我有一个名为Data的数据层项目,所有文件都在顶层文件夹中。我有枚举、POCOs、仓储库、部分类等。
如果我想将这些文件移动到子文件夹中,每个文件夹的首选文件夹名称是什么?是否有任何约定?
"Repositories"文件夹很明显,但我应该将POCO和枚举放在哪里?
谢谢
我有一个名为Data的数据层项目,所有文件都在顶层文件夹中。我有枚举、POCOs、仓储库、部分类等。
如果我想将这些文件移动到子文件夹中,每个文件夹的首选文件夹名称是什么?是否有任何约定?
"Repositories"文件夹很明显,但我应该将POCO和枚举放在哪里?
谢谢
在SAAS / Web风格的项目中,我(当前-根据项目变化)倾向于使用以下方法来命名程序集 / 项目 / 命名空间:
为了解释Services/Service Client...我使用一个IoC(目前是StructureMap),它允许我的Web客户端直接与业务层通信或通过ServiceClient通过Services到达业务层。这使我能够灵活地将应用层部署到Web应用程序中,或通过WCF / SOA原则将业务层的组件(应用层)分发到不同的服务器。
我倾向于使用项目文件夹来区分子命名空间。因此,在您的情况下,可以创建一个名为“Repositories”的文件夹,其中包含在“Data.Repositories”命名空间中的类。请注意,对于部分类,每个文件都需要在同一命名空间中。
最佳实践是按照对象模型的意义将实体分组,而不是按类型分组。
如果不清楚如何按使用或对象模型意义对类进行分组,可以将它们全部放在一个文件夹中。如果子文件夹不能以有意义的方式组织类,则没有任何价值。
按类型划分文件夹,例如枚举、POCO、存储库、部分类等,可能没有什么用处。
您可能希望为不应编辑的生成代码使用子文件夹。
还要记住,您可以在解决方案资源管理器中拥有不属于文件系统的文件夹。鉴于在某些源代码控制系统中在目录之间移动文件的成本(时间)很高,我建议您开始只使用 msdev 文件夹,直到您明确想要的结构为止。
如果枚举仅由一个类使用,则无需将每个枚举放在自己的文件中,将其放在与类相同的文件中是有效的。例如,PersonSex 枚举可以放在 person.cs 文件中。同样,如果您有许多小而密切相关的类,请考虑将它们放在同一个文件中。