我来自数据库编程背景(例如Oracle PL/SQL),由于招聘Web开发人员的困难,我不得不为最近的一个项目学习一些打字脚本.我做得很好--我写的是非常笨拙的后脑勺类型代码.它只是必须奏效,而且确实奏效了.
我觉得有一种数据库世界熟悉的编程方式,我看不到如何在打印脚本中实现.考虑以下判断业务规则的工作代码片段:
public br_12(contractBid: WFO.ContractBid) {
const condition1 = (contractBid.n_tax_per <= 0.003);
const condition2 = (this.br_12(contractBid) === 0 && this.br_18(contractBid)) === 0 && contractBid.n_tax_per <= 0.005;
if (condition1 || condition2)
{
return Math.ceil ( ( this.br_2(contractBid) * contractBid.n_tax_per) * 100 / 100 ) ;
} else {
return 0;
}
}
我希望能够在外部的JSON文件或其他外部数据源中存储业务规则,特别是条件,并有时以编程的方式任意引用它们.并且能够在不"更改任何代码"的情况下更新它们--当然,我知道当它们更改时,应用程序将不得不重新构建和重新部署.因此,要编写非常粗略的示例代码:
{
"business rules conditions": {
"condition1": "(contractBid.n_tax_per <= 0.003)",
"condition2": "(this.br_12(contractBid) === 0 && this.br_18(contractBid)) === 0 && contractBid.n_tax_per <= 0.005"
}
}
public br_12(contractBid: WFO.ContractBid) {
if (this.external.condition1 || this.external.condition2)
{
return Math.ceil ( ( this.br_2(contractBid) * contractBid.n_tax_per) * 100 / 100 ) ;
} else {
return 0;
}
}
别管我想要做这样的事情是不是疯了--有办法做到吗?