单例作为访问数据库的性能升级
本文关键字:性能 数据库 访问 单例作 | 更新日期: 2023-09-27 17:55:50
我正在编写一个实现不同设计模式的.NET应用程序。我有一个想法来写单例+蝇量级模式示例。假设我有包含比萨饼和配料的远程数据库。我的想法是:在应用程序启动时,我会下载所有比萨饼和配料,并将它们保持在蝇量级模式类中。多亏了这一点,我希望能够节省一些内存。
此外:我想实现单例模式,因此无需询问数据库即可访问下载对象。这不会在访问数据库时节省我的时间吗?
现在,我只需要将订单插入数据库而无需数据。
请告诉我这种对单打和蝇量级的解释是否合理。
蝇量级是指你拥有许多不同种类的单一事物。
单例是指您拥有一件事。
例如,您可以使用蝇量级模式来描述国家/地区。一个对象用于加拿大,一个对象用于俄罗斯等。它们都是国家,具有相似的属性,但不一定相同。
相反,您可以使用单例来表示地球,地球类只能有一个对象。
至于在启动时加载整个数据库,这似乎是不必要和不好的做法,数据库用于保存您可以检索的信息。如果你将多次使用相同的调用,你应该缓存结果,如果你有一个需要大量文本库搜索的庞大数据库,你应该使用基于lucene的搜索服务器,等等。
但是,对于对数据库的简单唯一 SQL 或 LINQ 调用(使用 EF),应在需要利用所述调用的结果时调用。