我已经写了一个简单的程序,我已经设计了一个简单的文本抽象。吸气剂和二传手在C++
但现在我有这样的抽象模型,它只是一堆getter和setter。通常情况下,我只是把这些东西当成公共数据成员,但问题在于我不能仅仅查看数据成员,因为将来会有一个替代代码路径,它们不存在于我的代码中,但是在一个外部库。现在我有一个可怕的笨重的get/set接口(通过方法链有所改进)。我能做些什么来使它更清洁?
编辑:我的班级定义。
class Text {
public:
enum TextLayout {
TopLeft,
TopRight,
BottomLeft,
BottomRight,
Center
};
// Text
virtual string GetText() = 0;
virtual Text* SetText(const string& ref) = 0;
virtual Text* SetText(string&& ref) = 0;
// Position
virtual int GetPositionX() = 0;
virtual Text* SetPositionX(int x) = 0;
virtual int GetPositionY() = 0;
virtual Text* SetPositionY(int y) = 0;
virtual int GetSizeX() = 0;
virtual Text* SetSizeX(int sizex) = 0;
virtual int GetSizeY() = 0;
virtual Text* SetSizeY(int sizey) = 0;
virtual TextLayout GetTextLayout() = 0;
virtual Text* SetTextLayout(TextLayout layout) = 0;
virtual std::shared_ptr<Font> GetFont() = 0;
virtual Text* SetFont(const std::shared_ptr<Font>&) = 0;
virtual Text* SetFont(std::shared_ptr<Font>&&) = 0;
virtual Text* SetColour(unsigned int colour) = 0;
virtual unsigned int GetColour() = 0;
virtual Render* GetRender() = 0;
virtual ~Text();
};
返回传递参数你介意分享类定义有何评论? – karlphillip 2010-12-21 15:44:06
看起来对我来说完全不错... – bezmax 2010-12-21 15:52:07