该怎样设计API?

API定义哲学:要站在用户的角度定义接口,哪怕背后对应技术实现方式难度更大。我们应该把这些dirty laundry隐藏在API背后。而不是选择一条自己更容易实现的技术方式,却把dirty laundry都抛给了你的用户

再次强调API定义哲学:当我们给用户提供API时,不应该由技术实现的难易程度来决定,而是站在用户的角度,消除掉一切不必要的复杂度,让用户可以最快速,最直接的达到他的目的

至于实现时的细节和复杂度,都应该统统被隐藏在API的背后。

首先站在客户的角度思考,怎样才是客户真正的需要。此时完全不考虑技术实现的方式。

得到一个理想的API后,然后再去寻找一切可能的方式去实现API。

当碰到困难时,有两种解决办法:

  1. 看看存不存在更容易实现的另外一种等价形式。注意,这种等价形式和原来对比,依然不会增加任何用户的负担。
  2. Try harder。此时正是走出舒适区,拓展知识面,发挥创造力的最佳时机。

你可能感兴趣的:(UML,OOAD,java)