API 学习之我见 博客分类: process 编程框架中间件领域模型工作
这是我三年前写的一篇小心得,过了三年后回过头想一下,感觉自己随着自己的角色发生的改变后,考虑问题的角度已经有所不同了。[]内中的内容是我新添加的
学习编程已经有好些年了,接触到的各种的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. 组合构建的过程就是我在前面提到的道]
为了达到这一层次,需要长时间的学习和深入的思考以及开发经验的积累。
呵呵这也许是大家追求目标吧,所以我们还需要继续不断的练功啊。