我想通过串口编写通讯接口。 (使用Qt)
我有QSerialPort类,它提供了使用串行端口的接口。 我从QSerialPort类继承了QMySerialPort,它为配置端口添加了一些功能和对话窗口。
现在我要编写2个协议类: 第一个 - 低层类,sendPacket,parseData方法等。 第二层 - 高层:setDeviceID,getDeviceID,onPayload等。
我该怎么办? 首先想到的是创建一些QSerialInterface元类,它将包括QMySerialPort和2个协议层类的对象。 我应该在它们之间实现一些联系。
如:
协议类: void setPort(QSerialPort * port){m_port = port; }
sendPacket方法: m_port->置于(local_data);
但我认为这种做法很可悲。 你有什么想法? 也许我应该在这里使用设计模式?
答案 0 :(得分:2)
也许您应该缩小问题范围以获得更有用的答案。也就是说,我想指出一些事情。
QMySerialPort
。{/ li>中没有位置
QSerialPort
上添加的功能类型,请记住,您可以通过合成而不是继承来使用QSerialPort
,在许多情况下(如果不是大多数情况下),前者是优选的。setPort
方法没问题,但我个人会将port
作为参数传递给构造函数。