【58沈剑架构系列】一分钟了解“好”接口的设计与实现
一、好接口的特性
-
易读
-
易用,难于误用
-
功能独立
-
容易扩展
二、好接口设计的基本原则
-
只做并做好一件事
函数名自解释
不恰当的函数名,往往是不恰当设计的征兆
-
如果没做到上一点,就将函数分解
只增加,永远不要删除函数与接口(你永远不知道这个接口被谁在使用)
-
实现永远不能影响接口
举例:不能假定函数调用者只能使用hash
不能对外暴露实现细节
-
最小化访问
尽量使用私有化成员
注意信息隐藏
-
注意文档与注释
接口不是只写给自己(即使只给自己,也应该有说明)
三、好接口实现的基本原则
-
不要到处拷贝代码
-
原子性尽量在一个接口内保证
-
Fail-Fast原则
出错尽量早点返回,交给上层处理,不要勉强抢救
-
避免数据直接访问,而是提供访问方法
-
注意参数与返回值类型
尽量明确类型
能不用string尽量不用
使用float的地方尽量用double,64bit
-
参数个数不宜太多
如果过多,就要考虑接口的合理性了
你见过没有注释的接口么?
你见过2000行的接口么?
你见过20个参数的接口么?
你见过什么更奇葩的接口?
【文章转载自微信公众号“架构师之路”】
作者:简简人事
出处:http://www.cnblogs.com/codeon/
知乎:https://www.zhihu.com/org/jian-jian-ren-shi
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
出处:http://www.cnblogs.com/codeon/
知乎:https://www.zhihu.com/org/jian-jian-ren-shi
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!