您的位置:首页 > 编程语言 > C语言/C++

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

2014-02-27 19:24 197 查看

1 根本目的

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

2 基本原则

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

3 选择结果

数据结构,如链表、哈希表、队列等,使用标准C++库,如std::vector<>而不是MFC的CArray<>;
线程、进程、同步等与UI无直接关联的部分,使用Window API,而不用MFC的封装版本;
界面特效、Windows消息处理,直接使用MFC;
把逻辑实现与消息处理函数分开,放到单独的逻辑处理类中去完成,消息处理函数只负责完成用户输入校验,然后调用逻辑实现函数。
对于动态链接库的项目,导出的API是纯C函数,而不要导出C++类,更不要导出基于MFC的C++类。因为C++对于对象的内存布局并没有统一标准,所以不能跨平台。

以上为开发过程中个人的一些小总结,本以为这辈子不再使用C++做开发了,因为个人觉得底层有C,上层有C#,Web由PHP,这就是完美世界了。然而,世事弄人,这段时间不仅又干起了C++的活,而且还是带有MFC的VC++,更悲催的是要在古老的VC++ 6.0下编码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: