【发布时间】:2013-12-24 13:17:28
【问题描述】:
我有一个稍微复杂的控制流程,其中包含一堆 if 语句,当表单中的某些字段需要突出显示(使用不同颜色)时,这些字段也会根据某些参数自动填充;最重要的是,不同的字段需要显示在不同的输入上。
我还需要在后端使用相同的逻辑来生成报告等。
我尝试将逻辑提取到属性文件中,然后让后端和前端读取该文件并根据需要实现逻辑。
但是过了一会儿,这变得太笨拙了,我最终在我的属性文件中编写了代码:
rules = [{field: 'xyz',
conditions: [{value: 50,
highlight_fields: {color: 'red', fields: [...]}},
show_fields: ....
custom_rule: ....
{value_between: [90,100],
highlight_fields...}]}
...
您可以想象这会随着每种类型的 value_XYZ 要求而变得非常大。然后我还需要将该规则添加到属性文件阅读器(在两侧)——这违背了将逻辑封装到单独的属性文件中的目的。
是否有任何健全的方法可以实现对可跨不同技术使用的业务逻辑的干净封装?
我可以在后端处理所有事情,让前端调用 ajax 调用后端系统以获得正确的突出显示规则,但这可能不够快。
【问题讨论】:
-
您可以在 javascript 中创建一个小库并在服务器上生成所有特殊逻辑 (js)。生成逻辑将消除到处复制它的需要。
标签: ajax design-patterns frontend backend properties-file