У меня есть два разных пространства имен с множеством классов с одинаковыми именами. Я считаю, что некоторый код облегчит понимание:
namespace Print.Pdl.PostScript.Operators
{
public abstract class BaseOperator : IOperator
{
// ...
}
}
namespace Print.Pdl.Pcl6.Operators
{
public abstract class BaseOperator : IOperator
{
// ...
}
}
Базовая реализация одинакова, поскольку PostScript и PCL имеют схожие конструкции. Таким образом, оба пространства имен имеют одинаковые имена для нескольких классов.
Я склоняюсь к следующему...
namespace Print.Pdl.PostScript.Operators
{
public abstract class BasePsOperator : IPsOperator
{
// ...
}
}
namespace Print.Pdl.Pcl6.Operators
{
public abstract class BasePclOperator : IPclOperator
{
// ...
}
}
... но, ИМХО, это как бы противоречит цели, так как в идентификации есть избыточность. Зачем мне префикс/изменение имен классов, если пространство имен уже создает логический барьер?
Итак, что вы думаете? Должен ли я сохранить идентичные имена, поскольку они находятся в разных пространствах имен, или я должен префикс/изменить имена классов, чтобы упростить идентификацию источника и избежать конфликтов, если кто-то захочет использовать оба пространства имен вместе?
Спасибо!