自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 《API Design Patterns》中文翻译——第五章 数据类型和默认值

数据类型是几乎每种编程语言中的重要方面,它告诉程序如何处理一块数据以及它应该如何与语言或类型本身提供的各种运算符进行交互。即使在具有动态类型的语言中(其中单个变量可以充当许多不同的数据类型,而不仅仅是限制为一个类型),在单个时间点的类型信息仍然非常重要,它指导编程语言应该如何处理变量。然而,在设计API时,我们必须摆脱仅考虑单一编程语言的思维模式,因为我们API的主要目标之一是让使用任何编程语言的人与服务进行交互。

2023-12-11 07:02:17 852

原创 《API Design Patterns》中文翻译——第四章 资源规模和层级结构

当我们谈论资源布局时(resource layout),通常指的是API中资源(或“事物”)的排列方式,定义这些资源的字段,以及这些资源如何通过这些字段相互关联。换句话说,资源布局是特定API设计的实体(资源)关系模型。例如,如果我们要构建一个聊天室的API,资源布局是指我们可能选择创建ChatRoom资源以及与ChatRoom有某种相关的User资源。我们感兴趣的是User和ChatRoom资源之间的关联方式。

2023-11-23 10:52:57 890

原创 《API Design Patterns》中文翻译——第三章 命名

正如我们在第1章中学到的那样,好的API需要表达能力强,简单且可预测。而名称则非常相似,只是它们不一定是“可操作的”(换句话说,名称实际上并不执行任何操作)。让我们分别看看这些属性以及一些命名选择的示例。首先是表达性。简洁性、表达性和可预测性:良好的名称,就像良好的API一样,应该简洁、富有表达力且可预测。语言和语法的一致性:在语言、语法和其他任意方面,通常最好选择一种标准并始终保持一致。名字中的介词可能是设计问题的信号:名字中的介词可能表明存在一些需要解决的潜在设计问题。上下文感知。

2023-11-15 10:14:20 64

原创 《API Design Patterns》中文翻译——第二章 什么是API设计模式

在我们开始探讨API设计模式之前,我们需要打下一些基础。首先从一个简单的问题开始:什么是设计模式?如果我们注意到软件设计是指为了解决问题而编写的一些代码的结构或布局,那么软件设计模式是指特定的设计可以反复应用于许多类似的软件问题,只需要进行小的调整以适应不同的情境。这意味着该模式不是我们用来解决单个问题的预构建库,而更像是解决相似结构问题的蓝图。如果这听起来太抽象,让我们来具体化一下,想象一下我们想在后院建一个小屋。

2023-11-10 10:37:20 148 1

原创 《API Design Patterns》中文翻译——第一章 什么是API

本章主要介绍了一些API相关的基本概念。作者对概念的描述细致且生动,列举了大量实例,对于缺少工作经验的学生党会比较友好。希望可以帮到碰巧看到的同学们。

2023-11-06 06:48:54 79

原创 《API Design Patterns》中文翻译——初衷

Stubby/gRPC虽然不是传统的REST API,但其实并没有本质上的区别,尤其是在API设计的时候需要考虑和权衡类似的问题。这本书在阐述每个设计模式的时候会通过实际案例列举不同方案的优缺点,这也是它让人感到实用的地方。另外,根据我的观察,实际工作中人们容易在各种棘手的问题中进行妥协,导致API不断扩展其职责变得异常臃肿。但实际上,API作为与其他模块沟通的接口,其行为应当是可预测的。最后,希望英文还不错的同学可以阅读原著(github有原版pdf文件),在很多时候会有更准确和深刻的理解。

2023-11-01 09:00:42 115 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除