总监要改东西,把原来的架构改为单件模式。刚开始的时候只是改了最外层的类,但是总监还要改内部的,就写了一个单件的模板类
class A_c
{
public:
.... youdata
static A_c * Instance()
{
static A_c instance;
return &instance;
}
protected:
A_c
{
_inited = false;
}
private:
bool _inited;
};
这是最简单的单件形式,可是这个类中要用到模板,类似这样的
class A_c
{
.....
Template
T * getyouwant(id)
{
return somethingtoget_T(id);
}
};
这个模板函数就是要吧一些数据库中定义的东西,读出,如果是单键模式就不用每次都去调用了,因为这些实例是不会更改的,因此,单键将会是一个最好的选择。
所以只有这样
template
class specTemplate_c
{
public:
T * somethingtoget_t(id);
public:
SpecTemplate_c * Instance()
{
static SpecTemplate_c instance;
return &instance;
}
protected:
SpecTemplate_c()
{
_inited = false;
}
private:
bool _inited;
};
这样具现的SpecTemplate也是单键了;
写完这个case,感觉模板编程好强大,得好好研究一下。
阅读(526) | 评论(0) | 转发(0) |