如果一开始就学错了

来源:互联网 发布:重庆程序员月薪工资 编辑:程序博客网 时间:2024/04/30 01:59

MFC推出的当年引来了无数学子的向往,几乎成了窗口开发的代名词。其对C++的应用如火纯青,在当时还是手工化的时代犹如机械化的大军。但当这个库开始大规模应用的时候却带来的很多的问题,面对窗口开发的无穷变化,MFC明显表现出不适应。其在小规模开发中所谓的易用性变成了桎梏。我怀疑MFC库的开发和当年word开发团队有着千丝万缕的关系,其所有的易用性都建立在开发word的基础上。当开发界面和word界面风格不同时,却发现改变MFC的特性比不使用这个库还要麻烦。MFC的数据结构消息结构都是金字塔形状,由上向下根据窗口的父子关系逐个传递和保存。这种窗口形式只合适于让用户有着几个选择最终退出软件的过程,当操作逻辑变得很复杂的时候这种堆叠的组织方式也成了束缚。WTL在消息机制上回归到了窗口消息回调函数的结构,但窗口类堆叠设计的方式并没有根本的改变,却也在大规模窗口开发应在中受到的追捧。win的窗口机制本身就是一个扁平设计,使用回调信息函数驱动窗口运行。MFC使用最新的C++特性使这种适合大规范开发的扁平设计变成了堆叠设计。用了10多年绕了个大圈子虽然很适合小规模应用软件的开发却好比本来很干爽清静的脸非要套个黑面纱。好多程序员又都是从小规模程序设计学起,这样一开始就误导了无数程序员。仿佛没有类没有堆叠,没有复杂的继承,就不是好的设计。当其开发的程序稍微上点规模其引入的复杂度就会把他自己打败。学了10几年却发现自己学了件错误和无用的设计方法,而简单正确的api就放在哪却视而不见。何尝不是自己打败自己的一种方式。

原创粉丝点击