Con frecuencia tengo conflictos de nombres entre un espacio de nombres y una clase dentro de ese espacio de nombres y me gustaría conocer una mejor práctica para manejar esto cuando parece tener sentido usar estos nombres en primer lugar, además de agregar prefijos aleatorios.¿Cómo evitar tener el mismo nombre para una clase y su espacio de nombres, como Technology.Technology?
Parecía tener sentido tener un espacio de nombres Models.Technology, con docenas de clases de tecnología (es decir, armas, tecnología agrícola, reciclaje) y algunas interfaces relacionadas en él. También decidí tener una clase abstracta de Tecnología, en el espacio de nombres de Tecnología, del cual derivan todas las tecnologías.
Sin embargo, esto me obliga a usar un código como éste:
public Technology.Technology research(Technology.Technology tech) {...}
y del mismo modo:
public Building.Building build(int count) {...}
Por cierto, no me dio el nombre de mis Tecnologías de espacio de nombres desde que uso ese término en otros lugares un contenedor para una lista de tecnologías disponibles ...
Me gustaría cambiar el nombre de su lista de las Tecnologías de 'TechnologyList', e ir a por' Technologies.Technology'. –