我一直想知道我已经为我的游戏引擎和游戏使用了很长一段时间的设计。假设我们有一个 Object 类
class Object
{
public:
const std::string& getName() { return m_name; }
private:
std::string m_name;
}
然后,我有一个名为 ObjectManager 的类,它包含一个 Object 的实例。现在,我一直在想是否应该在 ObjectManager 中保持该实例为私有并复制代码,以便它可以调用 getName(),或者使 Object 公开,这违背了封装的概念。大家觉得哪个设计好呢?
谢谢你的帮助!