调用方法重新初始化类属性与创建新对象有什么好处?我正在开发一个可以做很多事情的应用程序,我正在考虑重构它以消除这些调用。
原始开发人员对VB6更熟悉,因此可能是他们带来的习惯。
有什么我想念的东西会让这个好主意吗?
编辑:这些类是轻量级的,基本上是具有十几个原始属性的数据类和这种刷新方法。
答案 0 :(得分:2)
在某些高性能情况下有一个优点。
.NET依赖于垃圾收集器来清除变量,因为它们超出范围,因此不断创建实例并将它们丢弃将需要更频繁的垃圾收集,这会占用CPU并且可以在某些情况下暂停线程。
如果您的对象需要大量资源来实例化,那么您也将从重用对象而不是创建新对象中受益。实际上有一种称为“池化”的模式,它分配一个对象池并从池中绘制实例,根据需要初始化它们,并在完成它们时将它们返回池中。这与ThreadPool和SSQL连接池等用于管理“繁重”资源的模式相同。在通常会创建许多对象并快速超出范围的某些情况下,它也可以显着提高小型对象的性能。