1.这本书你到底该不该买呢?
如果说你已经写过很多代码,而且其他人要在你写的代码基础上编译他们的代码,那你早该想一想怎么设计API这个问题了,而本书就是你的得力助手。请注意,这可不是一本“5天掌握API设计”之类的书。而且你不可能“只用3天就能看完!”。假如你想找一本简单的参考手册,本书不属于那种类型。不过,要是你对深入了解API设计非常感兴趣,不仅仅满足于怎么设计,还想进一步搞清楚为什么那样设计就看看。我叫Jaroslav Tulach,我是 NetBeans 的创建人和首任架构师,NetBeans不仅是一个广为人知的IDE,也是第一个用Java写的模块化的桌面应用程序框架。这本书是在我过去10年工作笔记的基础上写成的。10年来,我的工作就是设计和维护 NetBeans API,并把相关的知识传递给其他的开发人员。这本书是来自 NetBeans 核心开发一线的工作实录,其中描述了我们曾经面临的问题,对这些问题逐步深入的理解,以及我们的对策和实施结果。虽然我们的经验来自于 NetBeans 的开发,但这些经验对大多数软件项目都是非常有价值的。掌握正确设计API的知识,是在21世纪成功实现软件项目的根本所在。希望本书能在你设计世界级API的过程中助你一臂之力!
2.什么是API?
准确地说API就是沟通,你可能会感到意外,我说的沟通不是指开发人员与计算机之间的沟通,而是人与人之间的对话。正因为如此,“什么是API”这个问题才会有各种各样的答案。一切有助于开发人员之间沟通的东西,都可以或者说都应该称为API,比如数据库的结构、硬盘里保存文件的路径、文件的内容、应用程序监听的端口,以及服务器的URL,等等。
3.这本书适合的读者对象是所有希望跟其他人对话的开发人员。不用说,只要是编写代码并需要与团队其他成员共享代码的程序员,都有必要看一看这本书。我把这本书分成三在部分。第一部分介绍一些与API有关的面上的知识,包括API相关的术语及评价其质量的方法和标准。接下来的部分进入实战,讨论了不同的API设计模式。最后一部分更进一步,展示了前两部分的建议在实际中的应用、如何组织API设计团队的工作,以及需要在哪些问题前作出妥协。除了这三部分,书前书后的前言和后记为这三部分提供了背景和上下文。
4.我以前一位领导常说:“正确的决断源于经验,而经验源于错误的决断。”我相信,从这个意义上说,NetBeans 团队已经掌握了非常高的API设计技术。然而技术虽高明,却不是什么魔法。我们能对API设计有这样深刻的认识,完全是因为10年来犯过了许许多多的错误。读者通过看这本书,有可能会避免重犯我们犯过的错误,提高自己在设计API时的决断力。
5.我在书中讨论的都是广义的API设计命题。我相信,这些话题触及了任何API设计的本质,对开发现代软件至关重要。但大家对这个问题的重视程度还远远不够,对设计API与设计常规的内部系统有什么区别也没有认识到位。欢迎大家访问http://wiki.apidesign.org/,跟我和其他人分享自己的经验。我注意到,越来越多的(主要的)开源库需要更多开发人员。我希望能够为所有这些框架的维护人员节省一点时间,让他们不要再重蹈我们的覆辙。希望大家积极地分享经验,而且都能使用切实有效的工作方法。这样,才能开发出更好的库,只有开发出更好的库,才能在它们基础上构建出更好的应用。最后,我想再强调一下,前面提到的一个人不可能预知所有用户这个结论是很重要的。即使是开发内部系统,即使你真的知道所有用户, 这个结论也是非常有用的。从编写代码之初就准备好应对未来的变化,可以为将来发布新版本避免很多麻烦。对于那些30几个人或更多人组成的开发团队来说,本书讨论的API设计方法绝对是非常有用的。
这些都是Jaroslav 说的,我只是如他所说的那样我们要不断地分享,整理过来的~~~~
本书由NetBeans的创始人Jaroslav Tulach撰写,深入探讨了API设计的核心概念、模式和实战经验。适合所有希望提升API设计能力的开发者阅读。书中详细介绍了API设计的面知识、实战模式及组织工作方法,旨在帮助开发者避免常见错误,提高决策力,打造世界级API。
760

被折叠的 条评论
为什么被折叠?



