能不能只在视图类下编写程序?

neil2009就是李工 2008-06-19 09:33:57
题目可能没讲明白。比如我要编写一个进行图像处理的程序,使用单文档单视图。运行程序主要是为了读入图像,再进行各种处理变换,每一步的结果都要显示出来。

我现在的做法是:所有的函数都在C***View类下的,包括读图、处理等函数也是。全局变量也是直接在C***View.cpp下直接定义的。其他菜单响应函数也在C***View类下,与OnDraw()并列。
这样我就不用在C***Doc类下编辑了,这个类就保持的默认样子。

请问我这样不使用文档的做法会不会影响程序运行速度或其他性能?是不是数据的运算必须要在文档里进行?
...全文
71 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢以上各位。我暂时就这样干,以后如果用到数据输入输出或读写文档时再改正。
luckyboy1979 2008-06-20
  • 打赏
  • 举报
回复
可以。加上标注,便于以后修改阅读程序。
DarknessTM 2008-06-20
  • 打赏
  • 举报
回复
你还不如干脆不要用 视图 文档结构……
vcPlayer 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cnzdgs 的回复:]
不会影响运行速度,也不会影响其它性能,只是不符合编程习惯,代码结构不太好而已。
[/Quote]

如果只是自己一个人编写是没问题的。但与人合作还是要学会模块化、结构化的编程。了解MFC在这方面的架构对自己的编程思路是一个很好的锻炼!
KeSummer 2008-06-20
  • 打赏
  • 举报
回复
可以,效率也不会怎么变化,只是有违MFC所倡导的文档-视结构罢了。。看看MVC相关。
菜牛 2008-06-20
  • 打赏
  • 举报
回复
没有必须,文档/视图类框架只是为了编程逻辑更清晰。
zhouzhenyan 2008-06-19
  • 打赏
  • 举报
回复
性能问题不是关键,反而可能你这样写性能还会稍好一点,因为类之间的相互通信和协作减少了。但从代码的清晰度以及今后软件的可修改性和可维护性等角度来看的话,并不是一种提倡的编程风格。MFC框架的主要设计思想之一就是将业务逻辑与界面显示分开,所以才有了CView类和CDocument类,建议遵循这种设计思想来写面向对象的程序。
cnzdgs 2008-06-19
  • 打赏
  • 举报
回复
不会影响运行速度,也不会影响其它性能,只是不符合编程习惯,代码结构不太好而已。
为了使更多的Qt初学者能尽快入门Qt,也为了Qt及Qt Creator的快速普及,我们花费大量精力写出了这一系列教程。虽然教程的知识可能很浅显,虽然教程的语言可能不规范,但是它却被数十万网友所认可。我们会将这一系列教程一直写下去,它将涉及Qt的方方面面 一、Qt Creator的安装和hello world程序的编写 二、Qt Creator编写多窗口程序 三、Qt Creator登录对话框 四、Qt Creator添加菜单图标 五、Qt Creator布局管理器的使用 六、Qt Creator实现文本编辑 七、Qt Creator实现文本查找 八、Qt Creator实现状态栏显示 九、Qt Creator中鼠标键盘事件的处理实现自定义鼠标指针 十、Qt Creator中实现定时器和产生随机数 十一、Qt 2D绘图(一)绘制简单图形 十二、Qt 2D绘图(二)渐变填充 十三、Qt 2D绘图(三)绘制文字 十四、Qt 2D绘图(四)绘制路径 十五、Qt 2D绘图(五)显示图片 十六、Qt 2D绘图(六)坐标系统 十七、Qt 2D绘图(七)Qt坐标系统深入 十八、Qt 2D绘图(八)涂鸦板 十九、Qt 2D绘图(九)双缓冲绘图简介 二十、Qt 2D绘图(十)图形视图框架简介 二十一、Qt数据库(一)简介 二十二、Qt数据库(二)添加MySQL数据库驱动插件 二十三、Qt数据库(三)利用QSqlQuery类执行SQL语句(一) 二十四、Qt数据库(四)利用QSqlQuery类执行SQL语句(二) 二十五、Qt数据库(五)QSqlQueryModel 二十六、Qt数据库(六)QSqlTableModel 二十七、Qt数据库(七)QSqlRelationalTableModel 二十八、Qt数据库(八)XML(一) 二十九、Qt数据库(九)XML(二) 三十、Qt数据库(十)XML(三) 三十一、Qt 4.7.0及Qt Creator 2.0 beta版安装全程图解 三十二、第一个Qt Quick程序(QML程序) 三十三、体验QML演示程序 三十四、Qt Quick Designer介绍 三十五、QML组件 三十六、QML项目之Image和BorderImage 三十七、Flipable、Flickable和状态与动画 三十八、QML视图 三十九、QtDeclarative模块 四十、使用Nokia Qt SDK开发Symbian和Maemo终端软件 四十一、Qt网络(一)简介 四十二、Qt网络(二)HTTP编程 四十三、Qt网络(三)FTP(一) 四十四、Qt网络(四)FTP(二) 四十五、Qt网络(五)获取本机网络信息 四十六、Qt网络(六)UDP 四十七、Qt网络(七)TCP(一) 四十八、Qt网络(八)TCP(二)

16,470

社区成员

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

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

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