c# - 命名空间、文件夹和冗余,天哪!文件夹结构是否清晰?

标签 c# namespaces solution

是的,我查看了一些现有的帖子 Grouping of project files into folders/namespaces

Namespaces and folder structures in c# solutions: how should folders on disk be organised?

等等。我遇到了一种情况......有点,我不确定我的程序是否过于复杂。

我有三个项目,组织起来很像这样......

  • 网页

    • 区域
    • Controller
    • 容器
      • 模块
    • 内容
      • CSS
      • 脚本
      • 图片
    • 观看次数
  • 型号

    • [Namespace.a]//示例,Project.Membership
      • 消息[查询接口(interface)]
      • 型号
        • 域模型.cs
        • 域模型.cs
        • 域模型.cs
      • 扩展
        • 域模型扩展.cs
        • 域模型扩展.cs
      • 错误
        • 域模型错误消息.cs
        • 域模型错误消息.cs
      • 工厂
        • 域模型工厂.cs
        • 域模型工厂.cs
    • [Namespace.b]//示例,Project.Books
      • 消息[查询接口(interface)]
      • 型号
        • 域模型.cs
        • 域模型.cs
        • 域模型.cs
      • 扩展
        • 域模型扩展.cs
        • 域模型扩展.cs
      • 错误
        • 域模型错误消息.cs
        • 域模型错误消息.cs
      • 工厂
        • 域模型工厂.cs
        • 域模型工厂.cs
    • [Namespace.c]//示例,Project.Tags
      • 消息[查询接口(interface)]
      • 型号
        • 域模型.cs
        • 域模型.cs
        • 域模型.cs
      • 扩展
        • 域模型扩展.cs
        • 域模型扩展.cs
      • 错误
        • 域模型错误消息.cs
        • 域模型错误消息.cs
      • 工厂
        • 域模型工厂.cs
        • 域模型工厂.cs
    • [Namespace.d]//示例,Project.Blogs
      • 消息[查询接口(interface)]
      • 型号
        • 域模型.cs
        • 域模型.cs
        • 域模型.cs
      • 扩展
        • 域模型扩展.cs
        • 域模型扩展.cs
      • 错误
        • 域模型错误消息.cs
        • 域模型错误消息.cs
      • 工厂
        • 域模型工厂.cs
        • 域模型工厂.cs

你明白了...基本上这个结构对我来说效果很好。我的问题是是否有其他人这样组织,或者我是否只是通过这么多的微型文件夹使我的解决方案加载速度变慢。我的思考过程基本上是..

each namespace is like a folder, so give it a folder. each object is like a file, so give it a folder. each thing relating to an object is like a property, so organize them.

总的来说,这听起来像是一个非常愚蠢的问题。我对管理和组织有很强的强制症,但我想知道是否让一切都保持......模块化这个词是什么?在这种情况下是最明智的决定。目前,我的一个项目中有 28 个命名空间,每个命名空间中包含 3 到 8 个对象。

最佳答案

这对我来说看起来很明智。维护布局良好的逻辑文件夹/命名空间层次结构是一种很好的做法。

此外,使用 Resharper 等工具可以非常轻松地快速导航到文件/类型,即使您的文件夹结构确实相当深。

关于c# - 命名空间、文件夹和冗余,天哪!文件夹结构是否清晰?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5409703/

相关文章:

c# - DataGridView:如何使某些单元格不可选择?

c# - 代码不在断点处停止

Python 命名空间 'import X' 和 'from X import'

c# - DataContractSerializer - 命名空间问题

c# - XPATHS 和默认命名空间

c# - 如何以编程方式从动态 JObject 获取属性

c# - 异步函数内部的普通方法也应该是异步的吗?

Git 和 Visual Studio 项目引用

c# - 无法加载一个或多个项目,但是VS却没有说是哪个

nuget - 当某些项目包含在多个解决方案中时,为所有解决方案设置一个通用的 nuget 包文件夹