首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SDK设计心得之接口设计

由于SDK的特殊性,所以对于SDK的开发来说,一开始对于SDK的一些通用的整体的元素的设计至关重要。因为SDK(尤其很多平台SDK,使用的应用成百上千)一个及其细微的调整都会影响很多开发者的版本周期。...因此前期的设计显得尤为重要。关于这部分内容,我会分两篇来介绍,这篇重点介绍具体接口设计。另一篇SDK设计心得之架构和资源将重点介绍SDK的架构和一些资源的使用方式。...关于接口设计 设计原则 接口名称、参数名称要足够清晰 一个牛逼的接口名称可以替代无数的注释 一个接口只做一件事 一个接口只做一件事。...我们有个功能有两个接口:一个是需要传参数,另一个不需要传参,两者的逻辑完全是独立的。本来是根据第一个原则设计了两个信、达也算雅的接口来实现。...调用方调用接口 接口参数校验,校验合法,发给SDK的线程 SDK的线程收到消息开始处理内部逻辑,处理结束发起回调 对返回结果进行二次处理,发给UI线程 UI线程通过回调接口回调游戏 关于第三方平台 关于因第三方平台的限制引起的失败

6.2K90
您找到你想要的搜索结果了吗?
是的
没有找到

流量染色SDK设计的思考

流量染色SDK设计的思考 笔者之前实习过程中负责过部门稳定性基建工作开展,其中一项任务就是负责流量染色SDK的实现和验证,具体来说,我负责的只是染色全流程中的一环,但是本文我想借助得物技术团队发表的流量染色实践系列文章...---- 应用级别的灰度 针对接口级别的灰度,目前都是在应用内进行灰度控制。但是应用级别的,目前没有特别好的方式来控制灰度。...这一块内容也是笔者实习期间负责的流量染色SDK功能,具体实现思路如下图所示: 整个流量染色SDK的核心其实就是一个切面,处于可扩展性设计,我将整个染色SDK分成了四个模块,如下图所示: 配置中心默认使用...应用内部透传,可以借助ThreadLocal,在发起接口调用的时候从ThreadLocal中取出继续透传。...其中染色环境列表的获取由发布平台提供接口给到各流量入口方去选择。

62030

怎样设计接口

怎样设计接口? 众所周知,接口是提供给其它模块或者系统使用的一种约定或者规范。因此接口必需要保 证足够的稳定性和易用性。这是设计接口的基本要求。...这是一种糟糕的接口设计。既不便于使用又不便于编译器优化(待确认)。...3.怎样设计接口? 採用OOD思想,即面向对象的思想,提供类接口或者COM接口。 对于C函数接口怎样设计呢?...事实上和C++接口设计原则一样,也採用面向对象的思想,仅仅是 将类设计成结构,公共的成员函数变为全局的函数,私有的成员函数变为static函数就可以。...函数接口的第一參数就相当于C++中的this指针就可以。 4.接口设计的其它要求 * 规范性:主要是接口设计的代码规范,这是最主要的要求。

86830

面向接口设计与角色接口

标签 | 软件设计 字数 | 1876字 阅读 | 5分钟 问题:在做项目的时候,是不是所有包含非静态方法的类,都要写一个接口?是因为这样的目的是为了解耦,然后通过DI注入实现吗?...此外,如果你的接口永远都只有一个实现类,并没有任何可能的需求变化,那么还有必要解耦吗? 所以说,不能死板的将类的方法提取接口,然后美其名曰为面向接口设计。...我们不能误解“面向接口设计”原则,该原则所指的“接口”并非Java语言中的interface类型,而是指面向调用者对外暴露的接口,代表一种交互与协作,是对信息的隐藏和封装,而不是具体的interface...即使是普通的java方法仍然满足隐藏细节的原则,如果是public的,就可以认为该方法是“面向接口设计”中的接口,也就是说:不要针对实现细节编程,而是针对接口编程。...如果你先定义了一个类叫EmailService,然后因为你需要定义接口对其抽象,然后就简单地将这个类的所有公有方法都提取到抽象的接口中,这样设计接口,被Martin Fowler称为Header Interface

66410

海康sdk协议接口_海康威视开发平台

本文接上次的博客海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(一),上个博客中并未用到QT,本文介绍项目内容及源码,供大家参考。...main.cpp PcbDetectv3.cpp MvCamera.cpp mythread.cpp 效果 1.说明 1.1 环境配置 关于我在VS中的软件版本及相关的环境配置,请移步 海康威视工业相机SDK...二次开发(VS+Opencv+QT+海康SDK+C++)(一)(里面有详细的软硬件介绍) 1.2 背景说明 简单介绍下我的项目需求: 通过相机对物体拍照,后进行目标识别,并返回识别目标的准确位置。...2.源码 MvCamera.h /************************************************************************/ /* 以C++接口为基础...内部图像缓存节点个数 | en:Set the number of the internal image cache nodes in SDK int SetImageNodeNum(unsigned

2.3K30

SDK设计心得之架构和资源

由于SDK的特殊性,所以对于SDK的开发来说,一开始对于SDK的一些通用的整体的元素的设计至关重要。因为SDK(尤其很多平台SDK,使用的应用成百上千)一个及其细微的调整都会影响很多开发者的版本周期。...因此前期的设计显得尤为重要。关于这部分内容,我会分两篇来介绍,这篇重点介绍SDK的架构和一些资源的使用方式。另另一篇SDK设计心得之接口设计将重点介绍具体接口设计。...API层最容易理解,他是对整个SDK的对外封装,经过这一层以后仅仅把需要暴露给外部的接口、结构体声明出来,向开发者隐藏具体实现。...关于SDK目录层级 一般SDK的层级取决于SDK的复杂程度。...目前最新的SDK开始支持Android Studio,因此我们的SDK的包又做了调整。除了上面的内容,还会提供一个SDK的aar给游戏。

3.4K40

如何设计编写一个 SDK

二、SDK 设计的基本原则 一款好用且设计充分的 SDK 必须要遵循以下 4 条基本原则,即: SDK 安全,稳定 统一的开发规范 Library 小而精 不依赖第三方 SDK 安全,稳定:考虑到 SDK...是需要嵌入到 App 里面去的,所以 SDK 最重要的特性就是安全性,不会因为乱开放接口而导致 App 数据泄露;其次重要的是 SDK 的稳定性, SDK 的 Crash 如果没有被捕获进行处理,则会导致应用彻底崩溃...(这样就会导致第三方接入的 App 体验性非常差),甚至会直接导致接入方的用户流失; 统一的开发规范:对于 SDK 开发规范来说,统一的命名规范很重要,最好的状态是“接入方看到接口命名就能知道是哪家厂商的...创建 SDK 工程 打开上个章节我们创建的示例工程,在工程上创建一个 library module,命名为GPush,让我们模拟实现一个推送简短新闻的接口。 3....接口设计 既然是做一个推送新闻的接口,那就必须要分为客户端和推送端,即 Client#onReceiveMessage 和 GPush#pushMessage。

1K50

SDK设计心得之错误码

错误码,是仅次于接口的游戏与SDK交流的工具。好的错误码就像接口设计一样可以大大降低接入成本,甚至不需要错误描述,仅仅通过错误码一眼就能大概确定问题原因。但是现实常常并不是这样的。...错误码怎么定义 目前我们的接口的调用结果只有一级。因此有时候调用完一个接口以后,游戏处理的内容就会很多。...由于意识到这个问题的时候,SDK的使用量已经不小了。因此我们没法直接改为两级,这样总有一些游戏会有问题。...推荐做法: 对外暴露的接口调用结果错误码分为两级:一级为flag,表示接口调用的结果:成功、失败、异常。一级为errorCode,表示错误原因。...final static int SUCC = 0; public final static int FAIL = 0; …… } 关于错误码的默认值 我们之前回调的flag默认为成功(我也不知道当时设计的人为啥这么写

2.6K70

接口用例设计

背景说明 一个系统可为其他系统提供能力或者直接为UI层提供数据,在设计系统测试方案时应考虑上游调用的各种场景,不仅考虑顺利且正向思维操作的场景,还应逆向的场景。...换句话来说,使用契约式设计的方式,运行前条件必须满足,参数不正确不可运行;运行中内部状态必须不变;运行后结果必须保持一致。...在设计接口用例设计时,除实现功能外,应关注:幂等性、空校验、流程节点限制、异常校验。 ? 01 幂等性 何为幂等性? 幂等为一数学概念,指使用相同参数重复执行,能获取相同结果。...对非空参数依次传空,观察接口调用情况。 当然,首先需明白业务逻辑,从而进行用例设计。尤其对于参数复杂的接口,当某一条调用规则下 某些非空参数就需要作为必传了。...明确系统的状态流转,一个系统设计初期就需明确功能及状态流转,会依据产品对系统的定义及依赖的下游或三方产品的功能。 测试正常流程节点。按照正向流程依次调用,观察调用结果及生成状态。

1.6K31

API接口TOKEN设计

API(Application Programming Interface)即应用程序接口。你可以认为 API 是一个软件组件或是一个 Web 服务与外界进行的交互的接口。...; 针对以上特点,移动端与服务端的通信就需要两种不同的TOKEN,一种针对接口的api_token,一种针对用户的user_token; 一.api_token 它的职责是保持接口访问的隐蔽性和有效性...加密密钥'为私有的加密密钥,手机端需要在服务端注册一个“接口使用者”账号后,系统会分配一个账号及密码,数据表设计参考如下: 字段名及字段类型 client_id varchar(20) 客户端ID client_secret...= md5('用户的uid' + 'Unix时间戳') = etye0fgkgk4ca2ttdsl0ae9a5dd77471fgf 服务端用数据表维护user_token的状态,表设计如下: 字段名及字段类型如下...; 接口用例如下:添加测试接口 URL: http://www.api.com/demo/index/add-demo?

1.3K30

如何设计api接口

随着前后端的分离,api 接口变得越来越重要,作为前后端通信的接口,api 变得非常重要,而且它的设计也是非常难以掌握。不仅要考虑安全性,还要考虑可维护性,以及今后的升级等等。...如何才能设计出更好的 api 接口,我认为以下几点需要注意。 接口一致性 这里说的一致性指的是编码规范要统一,不能各个接口使用不一样的编码风格。...接口健康性检查 我们应该设计一个监控系统或者一个接口来实时监控我们的服务,如果接口出现了问题,我们应该能够第一时间发现,同样,对于每个接口的访问请求我们都要有日志记录的存储。...尽量采用restful风格 虽然restful风格被一些人质疑,但是目前来看,它还是最好的接口设计风格,通过采用restful风格,可以让接口语义更加明确 ,规范,优雅省去了大部分 无意义的沟通,通过使用不同的...提供完整详细的api文档 无论我们的接口设计的多么规范,多么易懂,我们都需要提供一份完整的api文档,同时我们还需要提供一些请求范例,这样用户在使用的时候才会更加清楚,也能避免一些错误的请求。

82350
领券