我们如何组织名称空间?
时间:2020-03-06 14:37:14 来源:igfitidea点击:
因此,我有逻辑实体(人,国家等),GUI元素/控件,数据和导航控制器/管理器,然后是诸如四叉树和计时器之类的东西,而且我一直在努力将这些东西清晰地分离为逻辑名称空间。
我通常有这样的事情:
- Leviathan.GUI.Controls
- Leviathan.GUI视图
- 利维坦实体
- Leviathan.Controllers(数据和其他东西)
- Leviathan.Helpers(树木和其他东西)
在这方面有什么好的指南吗?我需要停止这种混乱。
解决方案
尽量避免使用"和其他东西"或者"杂项"。类别,如果我们将事物归入这些类别,则根本无法真正组织它们。
对于应用
Company.Product.Tier.Sub.Sub
我想从模型,视图,控制器或者其他既定名称(数据)中获取层的地方
但是对于我们的控制,我们最终得到了
Company.Product.LogicalFeatureGrouping
或者
Company.Product.Addon
有时候是
Company.Product.LogicalFeatureGrouping.Addon
我遵循Java / python的理想做法,即名称空间应遵循目录结构。
我通常为每个单独的层(例如UI,业务逻辑和数据库)创建一个名称空间。它迫使我将各层分开。我根据系统组件在其中创建其他名称空间。