我试图了解是否有最佳实践,而不是下面的实践。
所以在我们的项目中,我们创建了一个接口IForm
,如下所示:
class IForm {
protected:
IForm() {}
public:
virtual ~IForm() {}
virtual const std::string& GetId() const = 0;
virtual const std::string& GetTitle() const = 0;
virtual void SetTitle(const std::string& title) = 0;
virtual void SetFormError(const std::string& error_text) = 0;
virtual void ClearFormError() = 0;
};
然后需求变得更多,因此我们创建了新的接口IForm2
:
class IForm2: public IForm {
protected:
IForm2() = default;
public:
virtual ~IForm2() = default;
virtual void RemoveWidget(const std::string &id) = 0;
virtual void Clear() = 0;
};
我的问题是:
有解决方法吗?我可以使用一些设计模式来实现更新的需求而不是添加更新的接口,而不是添加新接口吗?
我知道上面的方法运行正常。我只是在寻找实现功能的替代方案。