这是一个类似于我最近编写的代码的示例,它在工作中被证明有点争议:
namespace Shape
{
class Renderer
{
public:
virtual void Draw () = 0;
};
};
namespace Square
{
class Renderer : public Shape::Renderer
{
virtual void Draw ();
};
};
namespace Circle
{
class Renderer : public Shape::Renderer
{
virtual void Draw ();
};
};
重点是:1)在继承层次结构中,大多数类具有相同的名称但属于不同的命名空间 2)“渲染器”只是这些相同命名空间中的几个继承层次结构之一
我的问题是:这可能是对命名空间的合理使用,还是对命名空间的滥用?还有其他人以这种方式使用名称空间吗?
已经收到了一些评论,如果我指出在我的实际编码中,命名空间实际上是不同的数据库技术,那么它似乎可能有助于讨论,因此一种是 ADO,另一种是 SQLite。因此对我来说,命名空间确实是有用的分组。