实用的接口设计原则
2009年4月9日
没有评论
为何要使用接口?那些大道理就不说了,什么面向对象之类的。
我所理解的接口的根本是:我们划清职责和界限,我做我该做的工作,你做你该做的工作,当我做的工作和你有关联的时候,你一定要充分提供帮助,我们大家一起协助完成整个工作。
“接口设计”和“完成工作”很类似,当老板交给你一项工作时,你可以简单告诉他做了、没做,当然如果事情很简单是可以这样答复的。但是我们所做的工作一般都是复杂。
很多工作的处理都要经历比较长的事务,比如有一件事情:和外部系统联调接口,如果会耗时1个月,对这种长时间的工作(其实是个长事务)会有很多中间状态:a联调方案制定完成,b联调计划确定完毕,c联调开始、d联调成果验收等。
如果老板不是傻子,他一定不会等到最后一天来问你OK没,对老板来说这样的风险冒不得。我们一般都要求在每个里程碑(状态稳定时)都得到反馈。老板会问你:联调方案制定这件事你做了么?你会回答他:我做了,并且完成了90%,完成的内容是什么什么。
我们再回到接口设计上,一个好的接口要告诉调用方什么样结果呢,接口要如何实现呢?
1、一个好的接口不要主动返回空,为空是意味着我交待你的事到底做了还是没做呢?
2、告诉调用方,我做了你交待我要做的,并且处理成功或者处理失败了(这里的成功失败不代表任何也业务上的状态,只是表明处理成功与否)。
3、我做了你交待的事情,做的结果是这样的:… …(一般来说有状态变迁的把最终状态返回,有详细返回信息的,将信息返回)
分类: 东西南北

评论