
C++
QFord
Unity3D/Unreal Engine 高级软件工程师 QFord@qq.com
现 云一灵心-人工智能研发部-引擎研究员/AI研发
原-网龙网络-工程院-虚拟实验室项目-开发主程(截止2025-01)
展开
-
C++ API 设计 章节链接
C++ API 设计 章节链接C++ API 设计 01 序言和目录(API Design for C++) C++ API 设计 02 前言C++ API 设计 03 序言C++ API 设计 04 鸣谢C++ API 设计 05 作者简介C++ API 设计 06 第一章 简介C++ API 设计 07 第二章 品质C++ API 设翻译 2014-03-05 21:30:29 · 847 阅读 · 0 评论 -
C++ API 设计 18 附录
附录A 库库让你可以打包编译好的代码和数据,实现你的API,以便用户能够把它们嵌入到他们自己的程序中。库是模块化的集合工具[l1]。本附录将涵盖你可以使用的不同的库类型以及如何在不同的平台上创建它们。还涵盖了API设计的物理方面,也就是在库文件符号导出表中暴露的公共API符号。库的特性、用法和支持的工具是平台特定的。在Windows系统上处理在Windows系统上的动态链接库(DLL)翻译 2014-02-27 15:58:24 · 436 阅读 · 0 评论 -
C++ API 设计 17 第十二章 扩展性
第12章 扩展性这最后一章讨论的是API扩展性这个主题。通过这个,你的用户无需通过你就可以改进API,就可以修改接口的行为来满足他们的特定需要。这是一个重要的因素,你能够维护一个简洁和专注的接口的同时,也实现一个灵活的系统,能够让你的用户解决你从未预期到的问题。这个概念所表达的就是开/关原则,这在第4章中讨论过,也就是API应该对扩展开放,对修改关闭(Meyer, 1997)。这里翻译 2014-02-27 15:55:45 · 1205 阅读 · 0 评论 -
C++ API 设计 16 第十一章 脚本
第十一章 脚本到本章为止,我主要关注的是API设计方面的通用内容,可以应用到所有的C++项目上。在涵盖了标准的API设计流程后,本书的剩余章节更多的是处理脚本和扩展性这些特别的主题。虽然不是所有的API都需要关心这些主题,但是它们正成为现代程序开发中更受欢迎的主题。因此,我认为对于一本全面介绍C++ API设计的书应该包括这些高级的主题。相应地,本章讨论处理的主题是脚本。也就是说,翻译 2014-02-27 15:54:39 · 938 阅读 · 0 评论 -
C++ API 设计 15 第十章 测试
第十章 测试每个开发人员,无论是多么有经验和细心,在编写软件时都会发生错误。特别是随着API大小和复杂度增加时就会变得不可避免了。测试的目的就是尽早找到这些缺陷,以便在影响你的用户之前解决好这些问题。现代软件开发中非常依赖第三方API。一旦你的API被广泛使用,那么只要你的代码中有不足和缺点的话就会影响很多用户以及他们的终端用户程序。正如前面提到过的,如果你实现的代码充满错翻译 2014-02-27 15:53:34 · 2128 阅读 · 0 评论 -
C++ API 设计 14 第九章 文档
第九章 文档在本书的第一章,我把API定义为一个或多个头文件再加上文档支持。事实上,除非API附带上文档,否则API还是处于未完成的状态。这是因为头文件并未指定API的行为,只是包含各种函数和方法的调用协议。David L. Parnas很好地解释过这些(Parnas, 1994):重用是说起来容易,做起来难。这么做同时需要良好的设计和优秀的文档。即使是有不错的设计,这还是比较少见翻译 2014-02-27 15:51:20 · 954 阅读 · 0 评论 -
C++ API 设计 13 第八章 版本化
第八章 版本化到目前为止,我主要把API的设计当作一个离散的任务,似乎API一旦有了完整的说明并发布给用户,任务就算完成了。当然,在实际工作中,这不过是一连串复杂过程的开始。API发布后,真正的工作才拉开序幕,API的开发过程需要接受检验。API 很少在1.0版本发布后就停止开发。总是会有漏洞要修复,新功能要整合,工作流程要简化,架构要改进,其它的平台要支持等。API的初始版本发布后,翻译 2014-02-27 15:49:23 · 772 阅读 · 0 评论 -
C++ API 设计 12 第七章 性能
第七章 性能本书的关注点不是告诉你如何优化你所要求的性能,亦非告诉你是否有必要,这些不是本书要关注的。性能应该是根据需要来定:有些对性能要求高的API,每秒都会调用好几次,而其它的API就很少被调用,这样它们的速度就没那么受关注了。不过,本书的关注点是告诉你什么样的API设计会影响到性能,还有如何优化接口的性能。或许,你的实现不要求有那么高的性能,但是你的接口还是应该尽可能的优化,翻译 2014-02-27 15:46:54 · 618 阅读 · 0 评论 -
C++ API 设计 11 第六章 C++用法
第六章 C++用法本章将深入探讨如何使用C++来编写高品质的API。第二章所涉及的通用API品质可以适用于任何编程语言:包括如下概念,隐藏私有细节、容易使用、松耦合和最低限度完整性优于使用任何其它特殊的编程语言。当我讲述这些C++主题的每个细节时,这些概念本身并不是只针对特定语言的。不过,有很多特定的C++风格会影响API的品质,如使用名空间、运算符、友元和const correc翻译 2014-02-26 14:34:53 · 987 阅读 · 1 评论 -
C++ API 设计 10 第五章 设计风格
第五章 设计风格上个章节处理的问题是品质对设计高质量API的影响和如何设计一个拥有这些品质的良好API。我通过特定的C++例子讲解了这些概念,设计API的抽象过程是和编程语言无关的。不过,在接下来的几个章节中,我将开始关注着重于更多API设计中关于C++方面的内容。本章涵盖的主题是关于API风格的内容。本文中的风格是指你是如何表示API的功能的。也就是说,API通过所提供的访问内部翻译 2014-02-26 14:27:22 · 1124 阅读 · 0 评论 -
C++ API 设计 09 第四章 设计
第四章 设计上个章节是为开始设计API打下基础和准备必要的开发背景知识。我分析了各种对API设计有益的品质有助于设计良好API的品质和讲解了应用于可维护的API设计的标准设计模式。本章将把这些信息全部整合到一起,涵盖高品质API设计的规范,从总体结构设计到类设计和单个函数调用。然而,如果API不能给予给用户他们所需要的功能,那么再好的设计也是没有意义的。因此,我也会讲解如何定义功能需求来指翻译 2014-02-26 14:25:39 · 1590 阅读 · 0 评论 -
C++ API 设计 08 第三章 模式
第三章 模式前一章所讨论的品质是用来区分设计良好和糟糕的API。在接下来的几个章节将重点关注构建高品质的API的技术和原则。这个特殊的章节将涵盖一些有用的设计模式和C++ API设计相关的相关语言特性习惯用法。设计模式是一种为共同的软件设计问题而采用的通用解决方案。这个术语在设计模式的书籍中经常出现:可复用复用的面向对象的软件基础要素(Elements of Reusable Obje翻译 2014-02-26 14:22:44 · 1122 阅读 · 0 评论 -
C++ API 设计 07 第二章 品质
第二章 品质本章的目标是回答下面的问题:一个良好的API需要什么样的品质?大多数开发人员都同意,一个良好的API应该设计得很优雅,而且仍然非常容易使用。它应该在后台运行且使用起来让你觉得很惬意。这些都是很好的定性陈述,不过什么样的具体设计可以实现这些目标?显然,每个API都是不同的。不过,高品质的API设计是应该尽可能坚持的,那些导致糟糕设计的方式都应避免。API设计中也没有绝对的规则:你翻译 2014-02-26 14:20:31 · 1218 阅读 · 0 评论 -
C++ API 设计 06 第一章 简介
第一章 简介1.1 应用程序编程接口是什么?应用程序编程接口(API)提供对问题的一个抽象,并说明客户端如何与实现这个问题的解决方案的软件组件来进行交互。 这些组件本身通常作为一个软件库发布,允许多个程序来使用它们。从本质上讲,API定义了可重用的构建模块,并允许功能模块被集成到最终用户的程序中。API可以为你自己而写,也可以是为你所在组织的其他工程师而写,或者为了更大范围的整个开发社翻译 2014-02-25 17:22:38 · 1301 阅读 · 0 评论 -
C++ API 设计 05 作者简介
作者简介Martin Reddy博士是Code Reddy公司的CEO(首席执行官)。他拥有计算机科学的博士学位,并拥有超过15年的软件行业从业经验。在此期间,Reddy博士已经出版了40多个专业出版物,三个软件专利和图书3D图像内幕。他还是ACM(计算机协会)和IEEE(电气与电子工程师协会)的会员。Reddy在皮克斯动画工作室工作了6年,他担任首席工程师,负责公司内部的动画系统翻译 2014-02-25 17:20:40 · 512 阅读 · 0 评论 -
C++ API 设计 04 鸣谢
鸣谢我几位敬爱的同事的技术审查和反馈使本书受益匪浅。我很感谢他们抽出时间来阅读手稿和早期的版本,而且还提出了宝贵的意见。我特别感谢Paul Strauss、 Eric Gregory、Rycharde Hawkes、 Nick Long、 James Chalfant、 Brett Levin、 Marcus Marr、 Jim Humelsine、和Geoff Levner。我与翻译 2014-02-25 17:17:53 · 721 阅读 · 0 评论 -
C++ API 设计 03 序言
序言使用C++来开发大型应用程序是一件困难和棘手的事。然而,要设计可重用的C++接口且健壮、稳定、易用和耐用,更是难上加难。要想在这方面取得成功的最好方法就是:坚持良好的应用程序编程接口(API)设计原则。每个API都为某个软件组件提供一个逻辑接口,并隐藏需要实现的该组件的内部细节。它为一个模型提供了高层次的抽象,并促进通过允许多个应用程序共享相同的功能来的促进代码重用。现翻译 2014-02-24 23:33:46 · 575 阅读 · 0 评论 -
C++ API 设计 02 前言
我得承认,我自己不是一个世界级的API设计者或软件工程师。然而,我在计算机图形和几何模型领域里可以算得上是一名专家级的研究员。在这个工作领域,我在皮克斯动画工作室第一次遇到马丁。(译者注:皮克斯是美国一家继迪斯尼公司之后,对动画电影历史影响最深的公司)做为一名图形学研究员,我习惯写一些关于数学的复杂论文。在大学里,我主修计算机科学并把我编写的代码共享出来。正是由于这个背景,我才有机会领导一个软翻译 2014-02-24 23:29:32 · 524 阅读 · 0 评论 -
C++ API 设计 01 序言和目录(API Design for C++)
本书已经翻译完毕,这里将逐步更新,免费提供给用户浏览。这里给出目录(注意:目录翻译的内容会有些许调整)和一些简介。 根据原作者所述,市面上很缺这方面的教程。翻译全书确实花了很多时间(因为是一个人负责的,前前后后大概花了半年时间,所以时间比较紧),灰常认真地翻译,背不起那些粗翻烂译的骂名,不过由于水平有限,有任何错误都请留言评论指正,这里先行谢过了。每日更新,关注。翻译 2011-08-25 16:57:25 · 5180 阅读 · 13 评论 -
Open Diameter C++ API(中文)
Open Diameter C++ API 开源DiameterC++ APIVersion1.0.7-e 版本1.0.7-eAuthor: (作者)Victor I. Fajardo维克托 I.法哈托 Translator:(译者) QFord Date: (日期)Jan 4, 200翻译 2008-07-20 10:16:00 · 3848 阅读 · 5 评论