从MFC的复杂性谈解决问题的方法

和其它面向对象的编程框架相比较,MFC的复杂性来源于3个方面:1、C++繁琐的语法, 2、MFC功能的广泛性,3、架构的不同,4、命名的语义性太差。


C++繁琐的语法


C++不是一门纯粹的面向对象语言,而是同时具备函数式编程、模板编程、元数据编程、面向对象编程等多种语言范式。这是C++功能的强大之处,也是导致C++复杂性的一个重要原因。
由于历史性的原因(保持兼容性、大量使用C++编写的遗留系统),和C#、Java以及其它很多脚本语言相比较,C++的语法对程序员不够友好。
性能上的优势并不能够成为C++丑陋语法的借口。


MFC功能的广泛性


和Windows Form、Jsp、Struts、WPF、LINQ、ADO.net……等这些面向对象的开发框架向比较,MFC的功能性更加广泛。例如WPF仅仅是专注于UI层的一套开发框架、LINQ仅仅是为了解决OO与SQL范式的鸿沟,为底层各种数据库模型提供统一的面向对象接口,而MFC则不同。
从软件分层的角度来看,MFC的功能跨越了几乎所有的层。下面是一个简单的MFC与各层次功能对应的列表。

图1


图1只是一个粗略的列表,并未涵盖MFC所有功能。
所以,准确来说&
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值