公司目前给我分配了一个任务,要求做一个聊天工具,要求如下:
1,各个功能模块需要以dll方式进行组织;
2,需要一个容器管理这些 不同功能的dll模块;
3,用户可以以改变配置的方式加载不同的模块的dll,来达到不同的外观效果。我想这样做的好处是,根据项目的功能,容易分工,便于维护这个软件……
然后当某个模块功能增强后,可以及时提醒用户升级。我现在的想法是,把主界面上的每个按钮弹出的 对话框做成 dll,当用户管理点击界面上的某个按钮时,
这个按钮触发 并且某个dll。
例如聊天对话框,当用户双击好友图像以后,触发加载并创建该好友的对话框的dll,然后用户可以在
这个弹出的对话框中,进行接收服务器传来的聊天信息,并且向好友发送聊天信息,并且可以触发音频视频,
功能,以及远程协助,传输文件等功能……;
我的意思是,这个聊天工具的每个相对独立的模块(包括界面),通过dll的方式实现,主界面只负责加载这些模块。 我看,qq聊天工具,迅雷下载工具……安装后,与可执行文件同级别的有好多dll,其中有QQMainFrame.dll ,QQMsgFriendMng.dll等很多个dll。我想他们也好像是这样组织的。 请问各位大侠,你们在做类似软件架构的时候,怎么划分界面功能,和内部逻辑功能的模块呢?怎么组织这些模块之间通讯?
1,各个功能模块需要以dll方式进行组织;
2,需要一个容器管理这些 不同功能的dll模块;
3,用户可以以改变配置的方式加载不同的模块的dll,来达到不同的外观效果。我想这样做的好处是,根据项目的功能,容易分工,便于维护这个软件……
然后当某个模块功能增强后,可以及时提醒用户升级。我现在的想法是,把主界面上的每个按钮弹出的 对话框做成 dll,当用户管理点击界面上的某个按钮时,
这个按钮触发 并且某个dll。
例如聊天对话框,当用户双击好友图像以后,触发加载并创建该好友的对话框的dll,然后用户可以在
这个弹出的对话框中,进行接收服务器传来的聊天信息,并且向好友发送聊天信息,并且可以触发音频视频,
功能,以及远程协助,传输文件等功能……;
我的意思是,这个聊天工具的每个相对独立的模块(包括界面),通过dll的方式实现,主界面只负责加载这些模块。 我看,qq聊天工具,迅雷下载工具……安装后,与可执行文件同级别的有好多dll,其中有QQMainFrame.dll ,QQMsgFriendMng.dll等很多个dll。我想他们也好像是这样组织的。 请问各位大侠,你们在做类似软件架构的时候,怎么划分界面功能,和内部逻辑功能的模块呢?怎么组织这些模块之间通讯?
解决方案 »
- vs2010 ADO如何获得字符集字段名称 和个数的问题
- ICE Grid
- 另外的两百分
- mfc创建的activex,用javascript调用不起来
- 请教一个CSocket类编写的UDP传输程序中OnReceive()接收的问题
- 用MFC的CStdiofile类怎样实现用给定的字符串,替换掉文件的第三行?
- 如何实现编辑框中文件的保存?
- 不好意思,忘了,保存的论坛网页如何打开?要安装一个experts,可是忘了如何安装,在哪里?急
- 纯C++的问题,考查你的基本功!!!
- 请问:AfxDaoInit在未安装VC6的机器上运行时程序为什么死掉?
- 求ATL复合控件,让它可以隐藏,又能让他有窗口
- 很简单的问题,谢谢.
功能逻辑模块可以通过组件接口的方式提供服务,也可以通过dll的提供函数的方式提供服务.另外逻辑功能也可以和界面UI分离出来.逻辑模块负责业务出来,界面模块负责和用户打交道.