我怎么命名这个班级的唯一目的是报告失败?

Bla*_*way 0 c++ design-patterns naming-conventions

在我们的系统中,我们有许多类,其构造必须异步发生.我们将构造过程包装在另一个派生类中,该类派生自一个IConstructor类:

class IConstructor {
    public:
        virtual void Update() = 0;
        virtual Status GetStatus() = 0;
        virtual int GetLastError() = 0;
};
Run Code Online (Sandbox Code Playgroud)

当前系统的设计存在一个问题 - 创建IConstructor衍生类的功能通常会执行额外的工作,这些工作也会失败.此时,不是获取可以查询错误的构造函数,而是NULL返回指针.

重构代码以避免这种情况是可能的,但是很耗时.在此期间,我决定创建一个构造函数类,我们创建并在出错时返回,而不是NULL指针:

class FailedConstructor : public IConstructor
    public:
        virtual void Update() {}
        virtual Status GetStatus() { return STATUS_ERROR; }
        virtual int GetLastError() { return m_errorCode; }
    private: int m_errorCode;
};
Run Code Online (Sandbox Code Playgroud)

所有这些都是一个平凡问题的设置:我怎么命名这个FailedConstructor班级?在我们当前的系统中,FailedConstructor将指示"构造一个实例的类Failed",而不是"表示构造另一个类的失败尝试的类".

我觉得它应该以其中一种设计模式命名,比如ProxyAdapter,但我不确定是哪种.

编辑:我应该清楚地表明,我正在寻找一个坚持理想的GoF设计模式之一的答案,或者其他一些完善的命名惯例.

Ama*_*dan 5

为了回答你的字面问题,我可能会选择ConstructorFailure,因为它描述了失败的事件.

但是,我可能更进一步,使它成为一个Exception,在这种情况下ConstructorException,听起来不是太破旧.你有什么理由想要归还而不是抛弃它吗?