【问题标题】:how do you organize your namespaces?你如何组织你的命名空间?
【发布时间】:2010-09-12 11:51:29
【问题描述】:

所以我有逻辑实体(人、国家等)、GUI 元素/控件、数据和导航控制器/管理器,然后是四叉树和计时器之类的东西,我总是努力将这些东西清晰地分离到逻辑命名空间中.

我通常是这样的:

  • Leviathan.GUI.Controls
  • Leviathan.GUI.Views
  • Leviathan.Entities
  • Leviathan.Controllers(数据和其他东西)
  • Leviathan.Helpers(树木和其他东西)

这方面有什么好的指南吗?我需要停止这种混乱。

【问题讨论】:

    标签: .net namespaces project-organization


    【解决方案1】:

    我通常为每一层创建一个命名空间,例如 UI、业务逻辑和数据库。它迫使我分开层级。我根据系统组件在其中创建其他命名空间。

    【讨论】:

      【解决方案2】:

      我遵循 Java/python 理想,即命名空间应遵循目录结构。

      【讨论】:

      • 这将导致我们提出以下问题:您如何组织目录结构:) 我也是这样做的,我的命名空间与文件夹结构相关
      • 我相信我在某处读过关于域的标准......比如从顶级域(org、com.gov、mil)开始,然后到项目名称及其子组件。
      【解决方案3】:

      适用于应用

      Company.Product.Tier.Sub.Sub
      

      我喜欢从模型、视图、控制器或其他已建立的名称(数据)中获取层

      但是对于我们的控件,我们最终会得到

      Company.Product.LogicalFeatureGrouping
      

      Company.Product.Addon
      

      有时是

      Company.Product.LogicalFeatureGrouping.Addon
      

      【讨论】:

        【解决方案4】:

        尽量避免“和其他东西”或“杂项”。类别,如果你把东西放在这些类别中,你根本就没有真正组织它们。

        【讨论】:

        • 我的想法,我很难为我很少使用但仍然必要的数据结构找到一个位置,例如 QuadTree 或 BinaryTree...
        • 嘿,对不起,我刚刚注意到评论框!刚发现这个功能。我会努力找到至少在其中两个之间有共同点的东西。除非它与任何其他命名空间没有任何共同之处,否则它可以被分类。但是 oultine 规则 #1 没有 B 就没有 A。希望这会有所帮助
        猜你喜欢
        • 2010-09-19
        • 2011-05-13
        • 1970-01-01
        • 1970-01-01
        • 2010-10-25
        • 2010-12-27
        • 1970-01-01
        • 1970-01-01
        • 2015-12-23
        相关资源
        最近更新 更多