在运行时缓存和重用控件

本文关键字:控件 运行时 缓存 | 更新日期: 2023-09-27 17:57:55

我正在开发一个应用程序,在其功能中,允许用户向系统中输入新对象(例如产品)。创建新产品时,用户可以选择一个类别,然后程序继续加载用户之前设置的该类别的任意数量的自定义属性。

程序加载并显示属性时不会出现问题。然而,问题是可能有数百个不同的类别,所有类别都有自己的一组属性。因此,我不想每次用户切换到不同的产品类别时都查询数据库并设置控件。

我正在考虑什么是在加载后将类别的属性和控件"缓存"在内存中的最佳方法,以便后续加载是即时的。

有人有什么想法吗?

编辑:为了澄清,我的问题是缓存控件,而不是属性(数据)

在运行时缓存和重用控件

经过一些研究,我得出的结论是,最好创建一个UserControl容器,并用所需的属性及其控件填充每个容器,然后将该UserControl缓存在Dictionary中。经过测试,我注意到这是非常高效的,而且速度也非常快。

就缓存而言,您可能需要检查Patterns&在这里的实践中,你可以使用这个块来缓存数据库中的数据,只要你知道它们不会有太大的变化。