对VC++的OO思考
1. MFC借助C++的优势为Windows开发开辟了一片新天地,同时也借助 ApplicationWizzard使开发者摆脱离了那些每次都必写基本代码
2. 借助ClassWizard和消息映射使开发者摆脱了定义消息处理时那种混乱和冗长的代码段。
3. 更令人兴奋的是利用C++的封装功能使开发者摆脱Windows中各种句柄的困扰,只需要面对C++中的对象,这样一来使开发更接近开发语言而远离系统。(但我个人认为了解系统原理对开发很有帮助)。正因为MFC是建立在C++的基础上,所以我强调C/C++语言基础对开发的重要性:
1)利用C++的封装性开发者可以更容易理解和操作各种窗口对象;
2)利用C++的派生性开发者可以减少开发自定义窗口的时间和创造出可重用的代码;
3)利用虚拟性可以在必要时更好的控制窗口的活动。
4)而且C++本身所具备的超越C语言的特性都可以使开发者编写出更易用,更灵活的代码。
参考(内含消息映射和学习方法总结):
http://www.cnblogs.com/bingcaihuang/archive/2010/12/02/1894062.html
总结一下:就是类对象代替句柄进行各种操作,方便管理,还能被继承/覆盖/复用,就这么点事。在读Delphi源码的时候多次发现,通过Delphi对象管理窗口要比通过句柄管理方便的多,句柄算什么,不过是Delphi对象诸多属性之一罢了。而且我还发现,有时候需要通过句柄来找到对象的情况,这样才能方便操作和充分管理。
再总结一下:类对象十分强大,几乎随心所欲、无所不能,句柄只是其中一个属性,用来管理窗口罢了。
--------------------------------------------------------------------------------------------------
对VC++的OO思考的更多相关文章
- lamp-linux3
LAMP编程之Linux(3) 一.权限管理 1.权限介绍(重点) 在Linux中分别有读.写.执行权限: 读权限: 对于文件夹来说,读权限影响用户是否能够列出目录结构 对于文件来说,读权限影响用户是 ...
- lamp-linux2
LAMP编程之Linux(2) 一.进阶指令 1.du指令 作用:du表示directory used,显示出目录所占的磁盘空间大小的情况. 语法:#du -sh 目录路径 选项说明: -s:表示su ...
- Linux的权限管理操作-Linux从入门到精通第七天(非原创)
文章大纲 一.权限概述二.权限设置三.属主与属组设置四.扩展五.学习资料下载六.参考文章 一.权限概述 总述:Linux系统一般将文件可存/取访问的身份分为3个类别:owner.group.other ...
- 学会拒绝,是一种智慧——OO电梯章节优化框架的思考
在本章的三次作业里,每次作业我都有一个主题,分别是:托盘型共享数据.单步电梯运行优化.多部电梯运行优化,因而电梯优化实际是第二.三次作业.虽然后两次作业从性能分上看做得还不错,但阅读其他大佬博客,我深 ...
- 你电梯没了—OO第二单元作业思考
写在前面 这三次电梯调度作业,主要是学习多线程并行操作,对于各个线程的时间轴的把握,互相的配合与影响,通过使用锁来解决访问冲突等方面. 个人在学会Thread相关操作之外,写出来一些奇怪结构的诡异操作 ...
- HIS系统患者实体OO设计的一点思考
软件开发的生命周期中,数据库建模后,在某个数据库系统中形成相对应的表,之后再根据数据库模型设计相关的业务对象及其关系.这其实是进行了两次设计,一次是数据库模型设计,数据库模型设计是根据现实业务提取出来 ...
- OO前三次作业思考(第一次OO——Blog)
OO前三次作业总结 基于度量分析程序结构 由于三次作业较多,决定分析内容.功能最为复杂的第三次作业. 上图为第三次作业的类图.我使用了一个抽象类Factor,写了五个因子继承Factor,然后又单独开 ...
- 【OO第二次作业】关于Homework2性能分的思考
为了获得更多的性能分,个人目前想到了以下注意点: Homework2与Homework1还是有不少相似之处的,因此在上次作业中的这些性能提升点,此次依然有效-- 表达式之间不含空格 如果存在正项,则表 ...
- 领域驱动和MVVM应用于UWP开发的一些思考
领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...
随机推荐
- Linux学习笔记--文件夹结构
暂时先上一张图学习吧,先大致了解好,再进行深入的学习.
- PHP获取远程和本地文件信息(汇总)
1.PHP filesize() 函数filesize() 函数返回指定文件的大小.若成功,则返回文件大小的字节数.若失败,则返回 false 并生成一条 E_WARNING 级的错误. 但是只能获取 ...
- Excel 出现后三位为000的情况
1.先将要填充的excel列全部转换成文本,然后再把列贴近来. 2.数据少的话,选择那个excel,在前面加上'号
- QS之force(3)
Example in project - First force signals in certain time and then noforce signals after some time. # ...
- Spring Boot 整合mybatis时遇到的mapper接口不能注入的问题
现实情况是这样的,因为在练习spring boot整合mybatis,所以自己新建了个项目做测试,可是在idea里面mapper接口注入报错,后来百度查询了下,把idea的注入等级设置为了warnin ...
- Challenge–response authentication 挑战(询问)应答机制
In computer security, challenge–response authentication is a family of protocols in which one party ...
- 触发a标签
var aLink = document.createElement("a"); aLink.download = ''; aLink.href = url; if (docume ...
- rabbitmq和kafka的区别
1.吞吐量kafka吞吐量更高: 1)Zero Copy机制,内核copy数据直接copy到网络设备,不必经过内核到用户再到内核的copy,减小了copy次数和上下文切换次数,大大提高了效率. 2)磁 ...
- Javaweb 使用Servlet技术改写用户登录 使用Filter技术解决中文乱码
先把实验3的jsp页面复制过来: WebContent->WEB-INF->lib下面的jar包8.0版本也要记得复制: Java Resources->src下的 cn.edu.h ...
- scrapy爬虫--10分钟入门
# -*- coding: utf-8 -*- # @Time : 2019/4/18 9:10 # @Author : wujf # @Email : 1028540310@qq.com # @Fi ...