假设您在基础架构中使用几种不同的编程语言和框架来处理大量流量等。

示例堆栈:


事件驱动的API服务器(使用Scala,node.js,Ruby EM)
标准的全栈Web应用程序(例如Rails)
(也许更多技术)


当使用不同的语言和框架时,我通常会重复大多数模型验证,因为每个“客户入口点”都需要验证其输入。保持同步当然很痛苦。

没有像CORBA这样的东西,您将如何处理?

最佳答案

最好的选择是一个框架,该框架使您可以使用与语言无关的格式(例如JSON)来指定模型验证。您可能最终会得到各种验证模式,例如:

{
  "name": [
    {
      "validate": "length",
      "minLength": 6,
      "maxLength": 10
    },
    ...
  ],
  ...
}


然后,您将具有可以解析此格式的特定于语言的验证器。验证器只需要编写一次,然后为每个模型维护一个模式。

但是,这听起来很像CORBA / SOAP / Thrift / ProtocolBuffers / etc。在此刻。这是因为它们是为解决这类问题而编写的,如果您自己编写,最终将需要重新发明一些轮子。

10-07 15:55
查看更多