SDK开发整理和接口设计

文章目录
  1. 1. 对于SDK的设计
  2. 2. 关于SDK的设计

对于SDK的设计

这边先整理一个大概的设计方式

先从接口设计来谈起 目前主要是是参考restful风格和asop两个方式,restful风格主要是通过url,requestMethod,requestParam,requestBody来携带参数和标示动作方式

起初是参考RESTful API 设计指南 - 阮一峰的网络日志

后面主要考虑集合方式

  • get请求会如果字符串查询会出现转义和其他影响.

  • 部分axios框架不支持delete的方式.

  • post put两者方式和patch区别容易混乱 部分更新和全部字段更新.

  • 对应部分批量删除选择post请求但是我选择用requestBody来删除的时候,会直接用数组来输入,这样确实简单明了,但是不好维护和理解,必要还是需要构建对应的对象来完成.

GET /dog/{id}?sortby=name&order=asc&page=2&per_page=100 查询单个数据

POST /dog/query -requestBody {“param1”:”aaa”,”param2”:”bbb”} 查询批量数据

POST /dog -requestBody {“param1”:”aaa”,”param2”:”bbb”} 新增

PUT /dog -requestBody {“param1”:”aaa”,”param2”:”bbb”} 部分更新

POST /dog/{id}/delete/ -requestBody {“param1”:”aaa”,”param2”:”bbb”} 删除单个数据

POST /dog/delete/ -requestBody {“param1”:[11,22,44],”param2”:”bbb”} 删除批量数据

关于SDK的设计

SDK 开发规范 - 腾讯云开发者社区-腾讯云

通用类命名规范 - 就永远夏天 - 博客园

其实可以参考的比较多主要是

  1. Client 类:Client 类通常用于与远程服务进行交互,例如通过HTTP请求向API发送请求并获取响应。这些类通常封装了与远程服务的所有交互逻辑,并提供了易于使用的方法,以便开发人员可以轻松地与远程服务进行交互。
  2. Helper 类:Helper 类通常包含一些实用方法或函数,这些方法或函数可以用于执行常见的操作。这些方法通常不包含业务逻辑,而是提供了一些工具和辅助函数,以帮助开发人员更轻松地编写代码。
  3. Utils 类:Utils 类也是一种实用程序类,但它们通常包含更广泛的功能,并且可能具有更多的业务逻辑。这些类通常提供了一组静态方法,这些方法可以用于执行各种任务,例如字符串处理、日期时间处理、文件操作等等。

下列类也是经常被用到的可以参考的

  1. Factory 类:Factory 类通常用于创建对象,这些对象可以是某个接口或抽象类的实例。这些类通常包含一个或多个静态方法,这些方法接受参数并返回一个实例。
  2. Builder 类:Builder 类通常用于构建复杂的对象,这些对象可能需要进行多个步骤的构建。这些类通常包含一组方法,每个方法都负责设置一个特定的属性,并返回自身的实例,以便可以链式调用这些方法。
  3. Adapter 类:Adapter 类通常用于将一个类的接口转换为另一个类的接口。这些类通常实现了目标接口,并持有一个源对象的引用,以便将源对象的方法映射到目标接口的方法。
  4. Decorator 类:Decorator 类通常用于在运行时动态地给对象添加功能,而无需修改原始对象。这些类通常实现了与原始对象相同的接口,并持有一个对原始对象的引用,在运行时添加额外的功能。

注意命名编程中最难的就是命名?这几招教你快速上手