使用VC++进行项目开发的API抉择

1 根本目的

视图与逻辑隔离、易于不同平台的移植,易于逻辑开发人员和视图开发人员的协作。

2 基本原则

  • 同样功能的前提下,优先选择标准C++库的API
  • 程序逻辑部分拒绝使用MFC
  • 只在界面和必须使用MFC的情况下,使用MFC    

3 选择结果

  1. 数据结构,如链表、哈希表、队列等,使用标准C++库,如std::vector<>而不是MFC的CArray<>;
  2. 线程、进程、同步等与UI无直接关联的部分,使用Window API,而不用MFC的封装版本;
  3. 界面特效、Windows消息处理,直接使用MFC;
  4. 把逻辑实现与消息处理函数分开,放到单独的逻辑处理类中去完成,消息处理函数只负责完成用户输入校验,然后调用逻辑实现函数。
  5. 对于动态链接库的项目,导出的API是纯C函数,而不要导出C++类,更不要导出基于MFC的C++类。因为C++对于对象的内存布局并没有统一标准,所以不能跨平台。
以上为开发过程中个人的一些小总结,本以为这辈子不再使用C++做开发了,因为个人觉得底层有C,上层有C#,Web由PHP,这就是完美世界了。然而,世事弄人,这段时间不仅又干起了C++的活,而且还是带有MFC的VC++,更悲催的是要在古老的VC++ 6.0下编码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值