Ho spesso conflitti di denominazione tra uno spazio dei nomi e una classe all'interno di tale spazio dei nomi e vorrei conoscere una best practice per gestirli quando sembra opportuno utilizzare questi nomi in primo luogo, oltre ad aggiungere prefissi casuali.Come evitare di avere lo stesso nome per una classe e il suo spazio dei nomi, come Technology.Technology?
Sembrava avere senso avere uno spazio dei nomi Models.Technology, con dozzine di classi di tecnologia (ad esempio, armi, tecnologie agricole e di riciclaggio) e alcune interfacce correlate. Ho anche deciso di avere una classe astratta tecnologica, nel namespace tecnologico, da cui derivano tutte le tecnologie.
Tuttavia, questo mi sta costringendo a usare codice come questo:
public Technology.Technology research(Technology.Technology tech) {...}
e allo stesso modo:
public Building.Building build(int count) {...}
Tra l'altro non mi ha chiamato il mio spazio dei nomi Technologies da quando uso questo termine anche altrove un wrapper per un elenco di tecnologie disponibili ...
vorrei rinominare l'elenco delle tecnologie a 'TechnologyList', e andare per' Technologies.Technology'. –