什么是标准和实现

在 CS (计算机科学) 领域中,你应该动不动就能听到类似于下面的句子:

  • OpenPGP.JS 是 OpenPGP 的 JavaScript 实现

  • hotchocolate 是 GraphQL 的 C#/.NET 实现

标准不是一个具体的东西,它描述了一个东西的属性,特征,行为等等东西

按照这个标准所制造出来的东西称之为 标准 X 的实现

例如一家叫做 Soony 的公司起草了一个叫做 Soony 电子狗程序的规范:

  • 它可以让电子狗叫

  • 它可以让电子狗跑

  • 它可以让电子狗有 50% 的可能接住主人扔出去的球

  • 当它无聊的时候会整天吠叫 (仅愚人节启动该功能)

接下来有三家公司分别是 Epsilon, Kappa, Sigma 都想编写电子狗程序,出现了以下三种情况

Epsilon 公司的电子狗程序:

  • 在电子狗电量少的时候吠叫

  • 在电子狗无聊的时候在附近周围跑跑

  • 电子狗拥有先进的算法预判抛球轨迹,将接球可能性提高到了 70%

  • 无聊的时候绝对不会吠叫

Kappa 公司的电子狗程序:

  • 在电子狗被人摸的时候吠叫

  • 在电子狗接触到它的万物配件的时候开始跑动以表示欢乐

  • 电子狗拥有 50% 的可能性可以接住主人抛出去的球

  • 在愚人节的时候,无聊情况下会整天吠叫

Sigma 公司的电子狗程序:

  • 在电子狗非勿扰模式的情况下随机吠叫几声

  • 在电子狗探测到牵狗绳配件的时候可以允许跑动

  • 电子狗拥有 50% 的可能性可以接住主人抛出去的球

  • 电子狗不可以吠叫一整天

在这三家公司中,只有 Kappa 公司的电子狗程序满足了要求

Epsilon 的电子狗程序的接球可能性提高到了 70%,并且在愚人节无聊时并不会整天都吠叫,不符合标准

Sigma 的电子狗程序在愚人节无聊时并不会吠叫一整天,也不符合标准

只有 Kappa 公司的电子狗程序实现了 Soony 电子狗程序规范的

  • 可以叫

  • 可以跑

  • 接球概率 50%

  • 愚人节无聊的时候整天吠叫

因此,Kappa 公司的电子狗程序可以被称为 Soony 电子狗程序的实现