【发布时间】:2009-03-02 18:13:13
【问题描述】:
在该项目中,我们正试图就命名空间的使用达成一致。 我们决定第一层是“productName”,第二层是“moduleName”。
productName::moduleName
现在如果模块是一种实用模块,那么添加第三个命名空间没有问题。例如添加“str”:productName::utilityModuleName::str - 划分所有“字符串”相关内容的空间。
如果模块是主要业务模块,我们有很多机会,几乎没有协议。
例如
class productName::mainModuleName::DomainObject
和
class productName::mainModuleName::DomainObjectSomethingElseViewForExample
都可以在
namespace productName::mainModuleName::domainObject
class Data
class ViewForExample
为什么我们应该创建内部而不是私有类而不是命名空间? 为什么我们要创建所有方法都是静态的类(除了这个类将成为模板参数的情况)?
项目包含 1Gb 的源代码。 那么,在 c++ 中,在命名空间上划分模块的最佳做法是什么?
【问题讨论】:
标签: c++ namespaces