一种基于工厂类实现报文解析的方法技术

技术编号:13502431 阅读:60 留言:0更新日期:2016-08-09 23:44
本发明专利技术提供一种基于工厂类实现报文解析的方法,所述方法利用loki库中的单体模式来实现一工厂类,所述工厂类包括:协议解析工厂类CarCmdFactory、自动生成协议解析类CCarCmdParserObj以及协议解析基类CCarCmdParser;所述工厂类在项目中维护一个唯一实例,将各协议解析类注册到该实例当中,在有报文待解析时,所述工厂类根据协议名从所述实例中获取对应协议解析类进行解析。本发明专利技术给项目的系统带来更大的可扩展性和尽量少的修改量,提高了工作效率。

【技术实现步骤摘要】

本专利技术涉及通讯
,尤其涉及一种基于工厂类实现报文解析的方法
技术介绍
当对象(协议)比较少时,在项目中需要的地方直接通过new来创建对象,这是可以的,而且比较简单;但是随着项目的发展,需要接入的对象(协议)越来越多,还是在项目中需要的地方直接通过new来创建对象,到时如果创建方法改变等情况出现,则需要四处修改代码,维护量、维护难度增加,容易产生各种问题。
技术实现思路
本专利技术要解决的技术问题,在于提供一种基于工厂类实现报文解析的方法,给项目的系统带来更大的可扩展性和尽量少的修改量,提高了工作效率。本专利技术是这样实现的:一种基于工厂类实现报文解析的方法,所述方法利用loki库中的单体模式来实现一工厂类,所述工厂类包括:协议解析工厂类CarCmdFactory、自动生成协议解析类CCarCmdParserObj以及协议解析基类CCarCmdParser;所述协议解析工厂类CarCmdFactory根据终端协议名称动态创建对应的协议解析对象;所述自动生成协议解析类本文档来自技高网...

【技术保护点】
一种基于工厂类实现报文解析的方法,其特征在于:所述方法利用loki库中的单体模式来实现一工厂类,所述工厂类包括:协议解析工厂类CarCmdFactory、自动生成协议解析类CCarCmdParserObj以及协议解析基类CCarCmdParser;所述协议解析工厂类CarCmdFactory根据终端协议名称动态创建对应的协议解析对象;所述自动生成协议解析类CCarCmdParserObj通过向协议解析工厂类CarCmdFactory指定协议名来创建对应的协议解析对象,并返回对象接口指针;且还负责协议解析对象的内存释放;所述协议解析基类CCarCmdParser提供各种公共接口;调用者无需调用具...

【技术特征摘要】
1.一种基于工厂类实现报文解析的方法,其特征在于:所述方法利用loki库中的单体
模式来实现一工厂类,所述工厂类包括:协议解析工厂类CarCmdFactory、自动生成协议解
析类CCarCmdParserObj以及协议解析基类CCarCmdParser;
所述协议解析工厂类CarCmdFactory根据终端协议名称动态创建对应的协议解析对
象;所述自动生成协议解析类CCarCmdParserObj通过向协议解析工厂类CarCmdFactory指
定协议名来创建对应的协议解析对象,并返回对象接口指针;且还负责协议解析对象的内
存释放;所述协议解析基类CCarCmdParser提供各种公共接口;调用者无需调用具体的协议
解析类,只要调用该协议解析基类即可;
所述工厂类在项目中维护一个唯一实例,将各协议解析类注册到该实例当中,在有报
文待解析时,所述工厂类根据协议名从所述实例中获取对应协议解析类进行解析。
2.根据权利要求1所述的一种基于工厂类实现报文解析的方法,其特征在于:所述方法
具体进一步为:在处理下行命令跟解析上行报文之前,先增加一个具体协议解析类;
该具体协议解析类需继承于所述协议解析基类CCarCmdParser,其中各具体协议解析
类都要继承该类;
协议解析基类CCarCmdParser的功能是提供各种公共接口,该公共接口包括:上行报文
解析接口Parser()和下行命令解析接口SetPosReport();调用者在调用各接口时,无需调
用具体的协议解析类,只要调用该协议解析基类CCarCmdParser即可;
协议解析类实现完,再通过相应的注册接口把该解析类注册到协议解析工厂类
CarCmdFactory中;
工厂类在项目中维护一个唯一实例,将各协议解析类注册到该实例当中,在有报文待
解析时,所述工厂类根据协议名从所述实例中获取对应协议解析类进行解析。
3.根据权利要求2所述的一种基于工厂类实现报文解析的方法,其特征在于:所述通过
相应的注册接口把该解析类注册到协议解析工厂类CarCmdFactory中的注册方式为:所述
协议解析工厂类CarCmdFactory的主要功能是提供两个接口:一、是把各协议解析类的信息
注册到一个map表里面;该信息包括...

【专利技术属性】
技术研发人员:林清福徐品高锦云乐惠丽陈建灵
申请(专利权)人:福建星海通信科技有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1