dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>C/C++>C/C++技术资料>文章内容
从MFC与ATL的男女关系说起
来源: BLOG 作者:
  我从大三开始学习MFC,对于一个学的学生来说算是有点晚,到现在差不多有3个年头了。我在大四进入公司实习开始学习COM,接触到ATL并用它来做开发。我在大二冬天开始恋爱,到现在为止第一段爱情走过3个半年头终于到了末路。这些对于我来说都算初尝,尝之有味所以写一点胡言乱语。

  男女关系

  如果从哲学的观点来看,这大概要说是一种辩证关系了!

  首先谈谈男人。男人与男孩的区别在于责任,对于一个男人来说,他的肩膀永远有负担,他要解决生活中遇到的所有问题,可以为妻儿带来幸福生活,可以赡养父母,可以做一些成就来创一番事业。所以男人不要轻生,因为你垮下就意味着你的负担没有了支撑,也就是你不负责任。男人的这种责任体现了一种刚性,打不倒压不垮,坎坎坷坷一路走来即使没有扬名立万但是肩膀上的负担始终没有落下。铮铮铁骨、铁血男儿、阳刚之美都是对男人的赞美,一个男人是顶梁柱,这就是责任。

  再谈谈女人。女人与女孩的区别在于柔情,少了撒娇和任性,多了体贴和温柔。女人是生活的调剂品,少了她尽管可以填抱肚皮、补充营养但食之无味。女人天生就是善于交际的,这本身体现的就是一种柔性,就像太极一样,以柔克刚,借助刚性体现柔美。

  用建筑来形容男女关系,男人就像钢筋水泥搭建起来的框架承受着外力,女人则是对框架填补装修使其美观,不同的男人有着不同的建筑风格,不同的女人可以使建筑呈现不同的美。成功的男人背后都有一个女人,钢筋水泥加上精心装饰让人体会到之美,至于谁重要次要,谁表谁里都不是关键,关键的是刚柔的结合。

  MFC

  MFC是一个男人,从Microsoft C/C++ version 7.0到Visual Stduio.net 2005一直承担着软件框架设计的角色,风风雨雨路不回头,屹立在软件设计大道,为开发者提供便利,著名的BCG库和XTREME库都是在MFC源码基础上的改进。它大而繁杂,曲折通幽,粗旷豪放。它必须承担责任,提供软件设计的一套解决方案,而且背负着历史包袱,所以难免带有一些成熟男人的深邃而不被人理解。如果你还一味的去批判它,那只能说你不懂男人的心,不理解一个男人难言之苦。 ATL

  ATL是一个女人,小巧灵活讨人喜爱,它作为COM思想的实现而拿出来解决软件协作的问题。它可以不具体实现功能而只留出一些接口,接口两端相通并且随时拔插,多么完美一个女人!为一个C++对象配备一个ATL对象你可以想象有什么结果嘛?

  软件设计中的MFC与ATL

  以前我一直以为ATL就是做控件、构造插件接口体系的,而MFC就是用来做界面功能。它们属于不同体系,在功能级别上存在差异,所以只是在纵向上结合而没有尝试横向的结合。人类社会是自然的,软件社会也应该是自然的。自然代表一种随和,亲近,协调。

  提到MFC,八九不离十就涉及到软件界面开发。目前来说软件复用需求越来越高,而软件功能的不确定因素越来越大,一个特定的界面行为可能不确定。MFC是一个男人,用它可以做任何想做的界面,这就是它的刚性。但是我们到底是要去做什么还是告诉别人我们可以做什么呢?如果我们一味的做,那我们充其量只是一个莽夫,是吕布有勇无谋。我告诉你我有一个MFC对象,还告诉你它可以做什么,这样不就够了。

  MFC是男人天生缺乏沟通能力,所以无法告知外界它自身的行为,只有它自己知道。这时候就需要一个管子插到对象内部去了解它,而ATL刚好提供了一个接口,将其一段插入MFC对象内部而露出另一端以便告知外界MFC对象内部的行为。这样的界面是可解释的界面,它具有做事情的能力,但是它不去做,而成为可复用界面。

上一篇:在VC中添加响应自定义的消息的代码步骤   下一篇:VC中用简易方法实现淡入淡出的启动画面
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·C语言数组排序小结
·Python 与 C++ 程序的简单实例对
·c++ 数组与指针
·C++中的内存管理(new、delete、
·如何用C语言开发DSP嵌入式系统
·如何用C语言开发DSP嵌入式系统
·Linux下C语言编程
·学习arm的话先看哪本书?
·C++初学者应该关心的优秀图书一
·利用C语言小程序来解决大问题
·用C语言写PHP扩展的步骤
·用C语言扩展PHP功能
  相关文章
·在VC中添加响应自定义的消息的代
·VC中用简易方法实现淡入淡出的启
·用Visual C++实现PDF文件的显示
·VC中自动改变控件位置和大小的对
·VC++设计基于ODBC的数据库管理系
·MFC中数组类的使用分析
·VC++中利用/GS开关防止缓冲区溢
·Visual C++2003中DLL初学者指南
·在应用程序中播放声音资源文件
·VC++大数据量绘图时无闪烁刷屏技
·Visual C++程序设计中的API和SDK
·在VC++中实现无标题栏对话框的拖
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763