易于更新应用程序的架构

时间:2008-10-03 13:28:59

标签: vb.net architecture vb6

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

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

有没有人对如何做到这一点有任何建议?

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

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

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

有了这个,你可以将表达式分解为:Reverse Polish Notation
然后,可以在varchar字段中轻松地从数据库中存储和调用它。

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