首页 > 其他 > 详细

CnComm多线程串口通讯类的封装实现v0.02

时间:2014-02-23 15:12:24      阅读:360      评论:0      收藏:0      [点我收藏+]

 CnComm多线程串口通讯类的封装实现一文中实现了对于cncomm多线程串口类的简单封装,新版本将串口管理类改成了工厂类和单例类,实现了对于动态扩展新的串口,新的版本符合开闭原则。

1.串口管理类

#ifndef _COMM_MANAGE_H_
#define _COMM_MANAGE_H_

class CommWrapper;
//抽象基类
class CommAbsFactory
{
public:
	virtual ~CommAbsFactory();
	virtual CommWrapper* createCommWrapperInstance()=0;
protected:
	CommAbsFactory();
};

//串口管理工厂具体类
class CommModuleFactory:public CommAbsFactory
{
public:
	static CommModuleFactory* Instance();

	virtual ~CommModuleFactory();
	CommWrapper* createCommWrapperInstance();
	
protected:
	CommModuleFactory();
	CommModuleFactory(const CommModuleFactory&);
	CommModuleFactory& operator= (const CommModuleFactory&);

private:
	static CommModuleFactory* _commMangeinstance;

};


#endif
#include "stdafx.h"
#include "commWrapper.h"
#include "CommManage.h"

CommAbsFactory::CommAbsFactory()
{

}

CommAbsFactory::~CommAbsFactory()
{

}

CommModuleFactory* CommModuleFactory::_commMangeinstance = 0;


CommModuleFactory::CommModuleFactory()
{
}

CommModuleFactory::~CommModuleFactory()
{

}

CommModuleFactory* CommModuleFactory::Instance()
{
	if(_commMangeinstance == 0)
	{
		_commMangeinstance = new CommModuleFactory();
	}
	return _commMangeinstance;
}

CommWrapper* CommModuleFactory::createCommWrapperInstance()
{
	return new CommWrapper();
}



CnComm多线程串口通讯类的封装实现v0.02

原文:http://blog.csdn.net/figo829/article/details/19709111

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!