2 u011175448 u011175448 于 2016.01.15 21:30 提问

关于C++开发的疑问(QT开发)

有个问题一直困惑着我,关于C++封装方面的。

最近在做一个使Qt网络通信的项目,首先是用QTcpServer对象进行监听,当有链接请求时,创建一个QTcpSocket对象来处理链接,这个处理主要是对对方传过来的数据按XML格式进行解析

这里有个疑问:

我是对QTcpSocket进行继承,写了一个自己的套接字类,然后把解析XML数据的代码封装在这个类里面。

但是我看同事是自己创建了一个类,把QTcpSocket作为这个类的成员,然后在这个类里面对XML数据进行解析。

想问一下大家,这两种封装方式,哪种更合理?

4个回答

wangyaninglm
wangyaninglm   Ds   Rxr 2016.01.16 09:26
已采纳

不是有一个原则,对,修改关闭对,扩展开放,所以应该是多使用聚合和组合?

caozhy
caozhy   Ds   Rxr 2016.01.15 23:52

相比较,更提倡类的聚合,也就是你同事的方法。

oyljerry
oyljerry   Ds   Rxr 2016.01.16 09:03

如果数据处理逻辑很多 就单独一个类 然后用组合模式来处理 如果比较简单 你的继承方式也可以

91program
91program   Ds   Rxr 2016.01.16 11:35

将 XML 的解析放在一个单独的类中,个人认为比较好。
因为类的功能简单,出现问题时容易分析。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!