好像带“单”字的 Design Pattern 翻译只有一个“单件模式(Singleton)”。
就是单次运行的构造函数生成唯一静态实例。
我所看到的"单身模式"的解释是指只有一个实例的类。
与你们所说的只有生成唯一静态实例是一样的吧。
主要代码是这样的,以下都是在类的内部,假设类名是 A
复制内容到剪贴板代码:
private:
A* instance = 0;
public:
A* CreateInstance(){
//构造
if(!instance)
//还没有生成实例,创建之,否则不加理会
instance = new A;
return instance;
}
protected:
A();
把构造函数 protected 或者 private 都可以,这样你声明新的类实例时就没办法调用构造函数,只能通过 CreateInstance 来创建实例,于是在 CreateInstance 的控制下,你无论调用几次,都只能创建一个 A 的实例了....