`
jnn
  • 浏览: 287295 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

API 学习之我见

阅读更多

这是我三年前写的一篇小心得,过了三年后回过头想一下,感觉自己随着自己的角色发生的改变后,考虑问题的角度已经有所不同了。[]内中的内容是我新添加的


学习编程已经有好些年了,接触到的各种的API也不少,有面向操作系统的API,有中间件的API,有时也要自己写一下API供别人调用.学习API自然就成了日常的功课。就好比学习武功一样,各路门派,各式招式,都有一个从入门,精通,到腾飞的阶段。

学习编程已经有好些年了,接触到的各种的API也不少,有面向操作系统的API,有中间件的API,有时也要自己写一下API供别人调用.学习API自然就成了日常的功课。就好比学习武功一样,各路门派,各式招式,都有一个从入门,精通,到腾飞的阶段。

初级,立刻上手,出结果。
    对于API一般都会有很多文档,这些文档都比较详尽的把API的来由,使用,注意事项都描述清楚。在这个层次,读文档是第一位的,但是为了提高效率,立杆见影,还需要从读例子入手。
    通过简单的例子,可以立即对API的使用获得十分感性的认识,同时很多代码立刻就能为你的应用开发提供直接的支持,这样学习效率会大幅提高。
    还有就是当看一些缺乏文档描述的API时,如果不确定API的具体行为,也可以从API所提供示例代码入手,同时也可以进一步验证你对API的功能理解。

[以前是使用CORBA做应用开放, 可以算是API的使用者, 现在由于我的工作是做 CXF的开放,成了实现JaxwsAPI的开发者, 现在对API的认识虽然不能算是已经腾飞了,但是感觉API其实算是你对系统架构的设计体现. 其实API也不是一成不变的, 好的API应该是易于理解和使用的,  因为定义API目的是为了用户能够方便快捷的使用你所设计的程序库,这样可以帮助使用者快速掌握你所设计的框架,能够真正地用户的生产效率.]


中级,对API烂熟于胸

    一般到达这一层次,所追求的目标就是将API用到最恰当的地方。通过体验API各种参数,以及调用方式的不同,理解API的使用特点,可以用API来进行思考,解决你的问题。犹如练刀和练剑一样,通过对你所用的兵器的体验、练习,达到人刀(剑)合一的地步。
    为了熟悉API,需要对API的描述文档,或者是API后面的具体实现,有很深入的认识。这往往是建立在大量的API使用基础上的。换句话来说,就是要多用,多想,多做项目,在实战中提高自己。
    对于API文档来说,有面向业务的(规范了详细的业务流程),也有面向系统实现的(如CORBA、J2EE的规范),这些都是从初级菜鸟向大侠级人物升级的必备物件,也是成为资深专家练功秘笈哦。
   
高级,无招胜有招
    API,只是为了解决某些问题,而提供的某种途径。到这一层次,API以及转换成为你解决问题一种手段,而你在对具体问题思考的过程中,除了能够进行高度的概括(架构系统框架),也能进行很细致的思考(具体的实现代码)。对于你来说,面对问题,你所想到的不是具体的API,而是整个问题解决之道。

[以前我作为API的使用者,是使用CORBA进行有应用开发, 现在我作为CXF的开发要实现JAXWS定义的API, 算是API的另一种使用者. 到现在我还是很希望这个问题解决之道的提法. API就象我们平时写作使用的词汇句式, 是我们思维的 Building Block, 我们可以用小的Building Block 构建一个非常漂亮的文章. 软件开发和写文章很类似. 我们解决某些问题或者是实现一个User Story的过程,就是将这样那样的API搭配组合,构建映射成为我们的具体的领域模型. 而这里Building Block就是API. 组合构建的过程就是我在前面提到的道]

为了达到这一层次,需要长时间的学习和深入的思考以及开发经验的积累。

呵呵这也许是大家追求目标吧,所以我们还需要继续不断的练功啊。

分享到:
评论

相关推荐

    API函数入门教程---难得一见好资料

    - **学习途径**:学习API可以通过官方文档、书籍或在线教程等方式进行。 - **基础需求**:学习API前需要具备一定的编程基础,特别是C/C++语言的知识,因为很多API是以C/C++编写的。 - **实践重要性**:通过实际编程...

    JavaScript API 见附件

    JavaScript API 是一种...这类资源对于学习和查阅JavaScript API的具体用法非常有帮助,尤其是对于初学者和需要查阅旧代码的开发者。通过阅读这份手册,你可以深入理解JavaScript API的工作原理,提升你的编程技能。

    基于深度学习的API误用缺陷检测.pdf

    尽管这种方法取得了一定的成功,但仍然面临挑战,例如如何处理API的动态行为,以及如何提高对未见过的API的泛化能力。 此外,深度学习模型的训练需要大量的标注数据,这可能在某些领域成为瓶颈。因此,未来的研究...

    基于百度api的小案例(内含实现内容介绍,见文档).rar

    该压缩包文件“基于百度API的小案例(内含实现内容介绍,见文档).rar”包含了一个使用百度API开发的小型应用示例,适合初学者学习。百度API是一系列服务,提供地图、定位、路线规划等多种功能,广泛应用于webGIS...

    Scorm详解_API

    一个微单元可以用微单元元数据(见下面微单元元数据的定义)说明以实现在知识库中的查询和获取,从而得到重复使用。 可共享内容对象(SCO)是一个或者多个微单元的集合,它可以在 SCORM 运行环境中与学习管理系统...

    一款经典的API指南软件

    这是一款非常优秀的API查询和学习的工具软件 其中不仅包括API函数的定义,更重要的是提供了API的实际应用,检索非常方便,可以按字母查,还可以按分类查询,对于学习相关的API函数是一个很好的助手.这是一个汉化版本的,...

    j2ee学习方法之我见。

    - **官方文档**:Sun Microsystems(现Oracle)提供了丰富的官方文档,包括API参考、教程等。 - **在线课程**:如Coursera、Udemy等平台上有许多优秀的J2EE课程。 - **书籍推荐**:《Core J2EE Patterns》、《Expert...

    ServiceMix学习之我见

    ServiceMix 是一个开源的...对于初学者来说,了解这些基础概念是掌握 ServiceMix 的第一步,进一步的学习可能涉及配置、部署、监控和管理 ServiceMix 实例,以及如何利用其提供的各种组件和服务来实现具体业务需求。

    C调用API 调用DLL

    这些主题都是C#调用Windows API时常见的应用场景,通过深入学习这些文档,开发者可以掌握更多的技能和技巧,以便在实际项目中灵活运用。 总的来说,C#调用DLL和API是提升应用程序功能的重要手段。通过理解P/Invoke...

    JDK8 API中文文档

    以上只是JDK8 API中部分重要特性的简介,实际的中文文档会详细解释每个类、接口、方法的功能、使用示例以及注意事项,是开发者学习和使用JDK8不可或缺的参考资料。通过深入学习和实践,开发者可以更好地利用这些新...

    API管理源码一个你从未见过的全新版本界面

    因为原本后台获取IP的接口已经失效,所以我把自己改的加上去了 Data/api.php CTRL +F 搜索getIpAddress 功能: 添加,修改,删除接口 添加,修改,删除友情链接 管理你的站点信息 访问日志 使用邮件接口...

    正在研究servlet3的朋友们,有谁需要servlet3 api(英文版)的吗, 见附件

    这篇博文分享了Servlet3的API英文版资源,对于学习和理解Servlet3规范有着重要的参考价值。下面,我们将详细探讨Servlet3的主要特点和关键知识点。 1. **异步处理**: Servlet3引入了异步处理能力,允许Servlet在...

    基于Node.js的TurtleBot机器人JavaScript API设计.pdf

    在百度学术搜索中,与TurtleBot相关的研究内容多达4600余条,足见其在学术界的受欢迎程度。而本设计的JavaScript API,可以大幅降低Web开发者在此领域内进行应用开发的难度。 最后,对于文档中提到的参考文献和作者...

    JDK1.6 API帮助文档.zip

    通过JDK1.6 API帮助文档,开发者可以深入学习和掌握这些特性,提升代码质量,优化程序性能,同时利用Java平台的强大功能进行创新开发。文档中的类、接口和方法都配有详细的说明和示例,是学习和开发Java SE 6应用...

    所有编程语言的API查找工具-推荐一款能查询所有编程语言的API.zip

    在IT行业中,API(应用程序接口)是开发人员在构建软件时不可或缺的一部分。...它将使开发者在面对大量API时能更有效地查找和学习,从而提升开发效率,降低出错概率,是每个开发者工具箱中不可或缺的一员。

    API实现BASE64编码.rar

    这不仅有助于学习易语言编程,还能加深对编码和API调用原理的理解,对于软件开发者来说是非常有价值的实践。 总结来说,"API实现BASE64编码"是利用API接口(可能是指易语言中的系统调用)实现对二进制数据进行BASE...

    python深度学习_python深度学习_深度学习图像_

    10. **深度学习框架比较**:TensorFlow以其灵活性和可扩展性受到广泛使用,Keras提供简洁的API易于上手,PyTorch则以其动态计算图和直观的调试工具受欢迎。 以上就是Python深度学习在图像识别中的基础知识点,涵盖...

    Java-API-Operate-Hadoop.rar_hadoop_hadoop api

    Hadoop API的学习不仅限于基本操作,还包括更高级的主题,如使用`InputFormat`和`OutputFormat`定义数据输入输出格式,使用`Mapper`和`Reducer`处理数据,以及配置Hadoop作业的优化参数。此外,了解Hadoop的分布式...

Global site tag (gtag.js) - Google Analytics