使用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下编码。
相关文章推荐
- 使用golang进行docker api开发
- 图解使用Win8Api进行Metro风格的程序开发五----在系统的设置窗口添加按钮
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
- (转)使用Jquery+EasyUI 进行框架项目开发案例讲解之四---组织机构管理源码分享
- 使用CVS进行项目开发管理
- 使用libcurl进行文件下载类项目开发(一) libcurl简单使用介绍
- 图解使用Win8Api进行Metro风格的程序开发七----BackgroundDownloader和BackgroundUploader
- VC中使用ADO进行数据库开发的一些资料的整理
- 使用commons-dbutils进行JDBC项目开发
- 浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
- VC 使用安装和部署项目进行部署
- VC中使用ADO进行数据库开发的一些资料的整理
- VC中使用ADO进行数据库开发的一些资料的整理
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之四--组织机构管理源码分享
- 使用delphi+intraweb进行微信开发5—准备实现微信API,先从获取AccessToken开始
- javaweb项目中使用百度地图进行项目开发
- solidworks二次开发 学习日记--3使用solidworks sdk api 和vc做简单开发
- 图解使用Win8Api进行Metro风格的程序开发九----解压缩
- 浅谈使用 PHP 进行手机 APP 开发(API 接口开发)