类的设计问题,高内聚低耦合 怎么处理 谢谢

jiangkeredgirl 2008-01-15 12:13:38
我要设计一个聊天类,聊天的方式有语音,文本,暂不考虑 视频

我是这样设计的
class CAudioChat
{
..........
}
class CTextChat
{
.........
}
class CChat
{
CAudioChat m_audio;
CTextChat m_text;
..........
}
这样设计 实现了高内聚吧
可地耦合 就很麻烦了
因为 我的CAudioChat类和CTextChat类需要访问CChat类里面的数据成员和成员函数,这样我还得
这样写CAudioChat的构造函数 CAudioChat(CChat&)把CChat类又作为 Caudiochat的类成员
晕啊,这不是更复杂了么?
写到这里,我突然想到了一个设计办法,把CAudioChat类和CTextChat类作为CChat类的子成员用继承的关系

我还需要看看关于设计方面的书啊,谁给推荐推荐些好书,谢谢
关于到底是,继承,组成,还是弄成友元,总是分不清楚


...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
paerxiushi 2008-01-15
  • 打赏
  • 举报
回复
推荐使用Adapter适配器来实现,按照楼主的思想,可以做成一个基于对象Adapter模式.推荐一本书:
<道法自然——面向对象实践指南 >
专为C++而设计.
此模式适用于媒体播放器.
liln0530 2008-01-15
  • 打赏
  • 举报
回复
+U
菜牛 2008-01-15
  • 打赏
  • 举报
回复
看《设计模式》啊。
  • 打赏
  • 举报
回复
:D
呵呵,如果项目不大,仔细考虑一下,尽早将结构做的合理.
jiangkeredgirl 2008-01-15
  • 打赏
  • 举报
回复
麻烦又来了

我这个聊天类 是主程序中的一个成员类,还有其他成员类,比如监控类
可我的聊天类又被继承了,现在的问题是 在主程序中如何写这个聊天成员类
郁闷啊
  • 打赏
  • 举报
回复
应该是继承关系吧,
个人觉得应该用多态.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧