-
读取配置文件动态创建对象[C++](5)
2006-02-02
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://jnn.blogbus.com/logs/1879323.html
AppenderFactory返回的指针是SharedAppenderPtr
class NullAppenderFactory : public AppenderFactory {
public:
SharedAppenderPtr createObject(const Properties& props)
{
return SharedAppenderPtr(new log4cplus::NullAppender(props));
}
tstring getTypeName() {
return LOG4CPLUS_TEXT("log4cplus::NullAppender");
}
};
LayoutFactory中返回的是std::auto_ptr
指针 class TTCCLayoutFactory : public LayoutFactory {
public:
std::auto_ptr<Layout> createObject(const Properties& props)
{
std::auto_ptr<Layout> tmp(new log4cplus::TTCCLayout(props));
return tmp;
}
tstring getTypeName() {
return LOG4CPLUS_TEXT("log4cplus::TTCCLayout");
}
};
这两者之间有什么样的区别联系?
通过auto_ptr可以知道对象实例在返回之后,需要将对象的生命周期交给外部的使用者,由使用者负责堆对象实例的析构工作.
分析成果
配置文件的定义实现,包含的基本类,以及这些类的实现.
对于实现的动态配置的考虑:
1. 通过生成RegistryFactory完成所有需要加载的对象的工厂方法的初始化,
2. 分析配置文件来实现不同方法的调用的实现
3. 加载完成Configure文件之后,既实现的基本的数据的获取和采集功能.
历史上的今天:
读取配置文件动态创建对象[C++](4) 2006-02-02读取配置文件动态创建对象 [C++] (3) 2006-02-02读取配置文件动态创建对象 [C++] (2) 2006-02-02读取配置文件动态创建对象[C++] (1) 2006-02-02随机文章:
读取配置文件动态创建对象[C++](4) 2006-02-02读取配置文件动态创建对象 [C++] (3) 2006-02-02读取配置文件动态创建对象 [C++] (2) 2006-02-02读取配置文件动态创建对象[C++] (1) 2006-02-02sessions模式 2004-05-07
收藏到:Del.icio.us








评论