我经常在命名空间和该命名空间中的类之间进行命名冲突,并且除了添加随机前缀之外,在首先使用这些名称似乎有意义时,我们想知道处理此问题的最佳实践.
拥有一个Models.Technology命名空间似乎是有意义的,它有许多技术类(即武器,农业,回收技术)和一些相关的接口.我还决定在Technology命名空间中使用一个技术抽象类,所有技术都来自该类.
但是,这迫使我使用这样的代码:
public Technology.Technology research(Technology.Technology tech) {...}
Run Code Online (Sandbox Code Playgroud)
同样地:
public Building.Building build(int count) {...}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我没有命名我的命名空间技术,因为我在其他地方使用该术语作为可用技术列表的包装器......