1

我有一个系统可以将计算应用于一组数字(具体细节并不相关)。系统用户可以应用许多计算集,并且经常添加新集。目前,当需要将一组新的计算添加到系统中时,它们会添加到代码库中并发布新版本的系统。我希望能够在系统中添加新的计算集,而不必发布一个全新的版本,并且让这些新的计算自动对系统用户可见。目前,为每组计算创建一个新函数,并将包含适当函数名称的记录添加到系统表中。这些记录对系统用户可见(函数名称当然是别名!)然后从列表中选择它们。

这是我继承的一个 VB6/Access 应用程序,目前正在用 VB.NET 和 SQL Server 重写。

有人对如何最好地做到这一点有任何建议吗?

4

2 回答 2

3

由于您在.Net 中重做,只需将计算放入插件中即可。使用反射在运行时加载和检查这些程序集并向用户呈现函数。

Divil 有一篇关于编写基于插件的应用程序的好文章(但现在相当老了)。它会帮助你:http ://divil.co.uk/net/articles/plugins/plugins.asp (+它在VB.Net中)

如果你这样做,你所要做的就是将一个 dll 放到正确的目录中,它就可以工作了。

于 2008-10-03T13:33:32.443 回答
0

如果您使用的是一组标准的数学函数,则可以使用允许用户在文本框中编写自己的数学函数。

然后使用语法解析器,例如:TinyPG on CodeProject

有了这个,您可以将表达式分解为:Reverse Polish Notation
这可以很容易地从数据库中的 varchar 字段中存储和调用。

设置完成后,您无需重新发布应用程序,除非您需要添加新的数学功能。

于 2008-10-03T13:44:33.843 回答