当前位置: 首页 > 网络应用技术

开放平台SDK设计理念

时间:2023-03-09 00:50:47 网络应用技术

  大家好,我是Bodo!上次写下“ TAOBAO”开放式平台界面的设计想法后,许多粉丝提到他们何时发布下一篇文章,所以今天我计划为开放平台SDK的设计写一些想法。同时,我将进行一些实践实践。

  在撰写本文之前,我亲自使用了TAOBAO和JINGDONG OPEN平台上的一些SDK进行工作。我还学到了很多设计思想。分为三个模块,这是:

  数据传输协议更为通用。首先,我想进行一般设计以支持其他传输方法。如果它支持保持长链接,我就不需要过度设计。必须有大部分适应性编码。将来它可能会保持不变。没有必要!

  目前,有许多开源工具,例如,还有更多的方法,可以选择哪种?好方法是自己抽象界面,然后提供默认的实现类,以便您可以保持一定的灵活性。

  仅定义一种方法来满足需求(懒惰需求?)。请求大多数开放平台的接口。无需定义所有HTTP功能。一个是干!

  接下来,使用HTTP请求:

  以上意识到了一个简单的HTTP客户端,基本上满足了需求。

  序列化和依赖性是Java实体之间数据的转换。对于灵活的设计,面向接口的编程用于定义用于序列化和设备的接口。

  同时,使用简单的实现来使用库:

  JackSonserializer

  JackSondeserializer

  这样的简单序列化和退休工具已经完成,以便基本上可以满足需求,但是一般的开放平台具有参数,其价值可能会等。为了仅集成序列化和反序列化,ISI创建了另一个接口,继承和:

  该添加方法用于确定它是否支持指定的数据格式,例如调整数据格式以创建实现类:

  Jsonserialionapter

  这更灵活。如果老板秘密地说,如果可以支持这一点,那么这个需求非常简单!如果我们使用序列化实现,请首先编写序列化和依赖的序列化器:

  jaxbserializer

  jaxbdeserializer

  XMLSerializationAdapter

  以同样的方式,其他数据格式也可以通过自定义定义,因此我不会解释它。

  如何使用?使用也很简单。简单编写测试方法测试:

  可以在变量的值之间转换上述测试代码,只需更改变量的值即可。

  JSON格式输出

  XML格式输出

  其余工具是编写一个简单的API客户端来启动HTTP请求和处理响应数据。

  由于SDK用于其他人,因此尽可能方便地方便。

  Abstractrequest

  抽象性

  DefaultClient一个简单的API客户端

  在这一点上,一个简单的开放平台SDK基本上已经成形。为了适应大多数客户的开放环境,应注意以下几点:

  有些人注意到我不期望。每个人都留下一条信息,一起学习和交流。