【发布时间】:2011-02-05 10:43:20
【问题描述】:
我没有为这个问题找到更好的标题。现在让我更好地解释一下:
我正在进行的项目将连接到远程服务器,加密会话并发送/接收数据包。 我想让它足够模块化,所以我认为使用 3 个不同的类会很好。这些将是:
1) 带有一些虚方法的套接字包装类,例如 OnReceivedData() 和 OnConnected()。
2) 套接字包装器的继承类,实现数据发送前的加密和数据到达时的解密。
3) 主对象本身,它应该根据是否需要加密覆盖上述任何一个类,因此它也可以接收 OnReceivedData() 和 OnConnected() 事件通知并根据它采取行动.
所以问题是我如何让我的程序知道它必须首先在加密对象上调用事件,然后在主对象上调用相同的事件?因为我猜如果我用加密覆盖套接字包装器,然后用主对象覆盖加密,它可能只会调用主对象方法(它会直接在主对象上调用 OnReceivedData() ,而不是通过解密首先是对象,对吧?)。
这叫多重继承吗?
顺便说一句,如果您认为这是一个糟糕的项目设计,我将不胜感激任何更好的方法。 感谢您抽出宝贵时间阅读本文。
【问题讨论】:
-
我的建议,尝试使用设计模式,例如
Builder或Factory模式。
标签: c++ methods notifications overriding