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对象诸多属性之一罢了。而且我还发现,有时候需要通过句柄来找到对象的情况,这样才能方便操作和充分管理。

再总结一下:类对象十分强大,几乎随心所欲、无所不能,句柄只是其中一个属性,用来管理窗口罢了。

--------------------------------------------------------------------------------------------------

Model/View  结构
Model-View-Controller(MVC), 是从Smalltalk发展而来的一种设计模式,常被用于构建用户界面。经典设计模式的著作中有这样的描述:
MVC 由三种对象组成。Model是应用程序对象,View是它的屏幕表示,Controller定义了用户界面如何对用户输入进行响应。在MVC之前,用户界面设计倾向于三者揉合在一起,MVC对它们进行了解耦,提高了灵活性与重用性。
假如把view与controller结合在一起,结果就是model/view结构。这个结构依然是把数据存储与数据表示进行了分离,它与MVC都基于同样的思想,但它更简单一些。这种分离使得在几个不同的view上显示同一个数据成为可能,也可以重新实现新的view,而不必改变底层的数据结构。
 
参考:
http://mkhgg.blog.51cto.com/1741572/441860
 

最新文章

  1. Android View 的事件体系
  2. C#Linq技术中SelectMany(...)的内部实现推测
  3. 重温Servlet学习笔记--编码问题
  4. 设置MYECLIPSE的自动补全
  5. iOS阶段学习第20天笔记(MRC内存管理)
  6. 基于bshare分享平台,在一个页面上实现多个不同内容的web分享
  7. maven 几个插件的使用
  8. why dicePlayer cannot player with defy mb526
  9. Unity Notes调制粒子系统的颗粒的最大数目
  10. 【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
  11. 本学期微分方程数值解课程总结(matlab代码)
  12. C#设计模式(6)-原型模式
  13. MyBatis 传List参数 nested exception is org.apache.ibatis.binding.BindingException: Parameter 'idList' not found.
  14. GSM与GPRS的区别
  15. vue 之 .sync 修饰符
  16. 10.9-uC/OS-III任务管理
  17. Linux学习---条件预处理的应用
  18. MT【1】终点在球面上的向量
  19. 常用处理数组、字符串API → forEach every some sort map filter slice split indexOf concat substring substr splice join toString replace
  20. leetcode第11题:盛水最多的容器

热门文章

  1. http接口 两种调用http接口的方法
  2. Leetcode0024--Swap Nodes in Pairs 链表配对交换
  3. Sql语句优化-查询两表不同行NOT IN、NOT EXISTS、连接查询Left Join
  4. 【Linux】Ubuntu输入法不能开机自启的解决方法
  5. 【Linux】Vi中的各种命令
  6. 三维重建7:Visual SLAM算法笔记
  7. java 发送http请求
  8. Python之数据结构改造
  9. python 遍历xml所有节点
  10. 【剑指Offer】40、数组中只出现一次的数字