下面是類似的代碼,我最近寫的東西,這已經被證明是在工作中一點點有爭議的一個例子:這是對C++繼承層次結構命名空間的合理使用嗎?
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。因此,對我來說,名稱空間確實是有用的分組。
真的更適合http://codereview.stackexchange.com/ – Chad 2013-04-29 14:30:54
謝謝@Chad,我不知道那個網站。我會調查那裏發佈的問題。 – 2013-04-29 14:31:51
想一下當你看到剛剛提到'Renderer'的代碼時你是否會感到困惑...... – 2013-04-29 14:34:29