我正在寻找在不使用repeating yourself的情况下在不同地点使用相同数据的最佳做法 - 这可能包括配置或业务规则。如何在语言之间共享配置信息或业务规则
示例1.您要在客户端上使用javascript验证的数据验证规则,但您希望通过服务器上的验证来确认。
示例2.数据库访问您的Web服务器和您的cronjobs使用相同的密码,用户名。
易于处理和人性化的解决方案将是一个优点。
我正在寻找在不使用repeating yourself的情况下在不同地点使用相同数据的最佳做法 - 这可能包括配置或业务规则。如何在语言之间共享配置信息或业务规则
示例1.您要在客户端上使用javascript验证的数据验证规则,但您希望通过服务器上的验证来确认。
示例2.数据库访问您的Web服务器和您的cronjobs使用相同的密码,用户名。
易于处理和人性化的解决方案将是一个优点。
XML在全球范围内非常普遍。易读,易写,易读。如果您担心空间开销(如果您想要人类可读的话,实际上并不是这样),然后在发送之前将其压缩,XML压缩得相当好。
查看对this question的回答。我认为他们适用于这里,特别是the one with a DSL。
尽管讨厌分享数据验证规则,但我不得不说Regular Expressions。我知道,我知道,每个人都讨厌他们,但他们(通常)是语言不可知的。
使用O/S环境变量(envvars中)来存储应用程序的配置信息(诸如分贝密码)
验证规则通常需要的逻辑。你可以用JavaScript编写规则,然后在浏览器,服务器(使用Nashorn)和数据库(使用Postgres的PLV8)中运行它们。
这不是通常意义上的“配置”。这是代码。请放下“配置”,在代码中加入“代码”或“业务规则”或其他内容。 – 2008-10-27 13:27:04
我已将业务规则添加到标题和标签,但我认为配置适用于第二个示例。例如,MySQL将.my.cnf文件(包括用户,密码,主机等)称为配置文件。 – Ken 2008-10-27 14:30:32