面试中常考还有实际中用的比较多的涉及模式。
1. Singleton
保证全局类只有唯一一个实例;提供一个访问它的全局访问点。
class Singleton{
public:
static Singleton* Instance();
protected:
Singleton();
private:
static Singleton* _instance;
};
Singleton* Singleton::_instance = 0;
Singleton* Singleton::Instance(){
if (_instance == 0){
_instance = new Singleton;
}
return _instance;
}
访问Singleton只能通过Instance成员函数访问,_instance初始化为0,而静态成员函数Instance返回该变量值。
2. Abstract Factory
3. Factory Method
4. Adapter
5. Decorator
6. Facade
7. Observer