我正在寻找在不同地方使用相同数据而不重复自己的最佳实践——这可能包括配置或业务规则。
示例 1. 您希望在客户端使用 javascript 进行验证的数据验证规则,但您希望通过在服务器上进行验证来确保。
示例 2. 您的 Web 服务器和您的 cronjobs 使用相同的密码、用户名的数据库访问。
易于处理和人类可读的解决方案将是一个优势。
我正在寻找在不同地方使用相同数据而不重复自己的最佳实践——这可能包括配置或业务规则。
示例 1. 您希望在客户端使用 javascript 进行验证的数据验证规则,但您希望通过在服务器上进行验证来确保。
示例 2. 您的 Web 服务器和您的 cronjobs 使用相同的密码、用户名的数据库访问。
易于处理和人类可读的解决方案将是一个优势。
XML 在全球范围内被广泛使用。易读、易写、易读。如果您担心空间开销(如果您想要人类可读,您实际上并不担心)然后在发送之前压缩它,XML 压缩得很好。
请参阅此问题的答案。我认为它们在这里适用,尤其是带有 DSL 的那个。
尽管他们讨厌,但对于共享数据验证规则,我不得不说正则表达式。
我知道,我知道,每个人都讨厌他们,但他们(通常)与语言无关。
使用 O/S 环境变量 (envvars) 来存储应用程序配置信息(例如 db 密码)
验证规则通常需要逻辑。您可以用 JavaScript 编写规则,然后在浏览器、服务器(使用 Nashorn)和数据库(带有 Postgres 的 PLV8)中运行它们。