2

当您选择嵌入式脚本时,您在决策过程中会考虑哪些因素?配置和变化问题是否可以完全通过 IOC 和插件模式来克服?

很多时候,策略模式和装饰器模式是驯服领域逻辑变化的好方法。我面临的问题是,工作流的计算和起点会根据不同的营销活动在一年中有所不同,并且直到活动开始之前才知道所有数据要求和业务规则。作为一家小商店,我们希望有一个解决方案,我们可以在其中进行配置更改、严格测试,而不是被迫不断地编译/链接和重新部署。

4

2 回答 2

3

很多时候,我通过 Python 或 Lua 使内部数据结构可变。有时将业务逻辑外部化为可加载模块。这也使您的解决方案成为一个可重用的框架,您可以廉价地部署到其他客户端。它还使“现场”修复更快(只需更新文本文件),并让客户可以自由修改自己的动态数据。

如果您可以安全地公开 API而不会破坏任何东西……为什么不呢?

我的两个担忧是:

  1. 我可以外部化特定于客户的逻辑吗?或者以后可能会定制
  2. 我可以在满足性能知识产权限制的同时做到这一点吗?

一个干净的框架 == 可重用的代码和一个平台,您可以快速修改以解决相同问题而无需重新编码。

于 2009-06-20T15:11:14.937 回答
1

我在 2 个场景中使用了这种技术:

  1. 我想为客户/客户提供一些设施,以便能够自己提供一些(有限的)定制。例如,如果值超过 50,则将图表着色为红色,因此允许他们键入一个简短的脚本,例如“if val > limit then 'red'”等。但是,您必须小心限制用户可以编程的内容(显然原因)
  2. 当我需要在现场对软件进行一些定制时(即重新编译不是一种选择),我知道我需要的不仅仅是能够打开/关闭组件。所以我将实现一些机制,让应用程序通过可编写脚本的组件来配置自己

(本人主要是Java为主,所以使用Java 6嵌入式脚本加多种语言实现以上,视重点而定)

于 2009-06-20T15:14:37.490 回答