如果我为我的Windows应用程序创建了一个Abstract BaseForm
,那么在加载应用程序的表单时,我可以使用它来执行常见操作。我也可以override
OnLoad
方法,或我订阅Load
事件(BaseForm_Load
)。我应该继承还是订阅活动?
从设计和性能的角度来看哪种方法更好?
如果我为我的Windows应用程序创建了一个Abstract BaseForm
,那么在加载应用程序的表单时,我可以使用它来执行常见操作。我也可以override
OnLoad
方法,或我订阅Load
事件(BaseForm_Load
)。我应该继承还是订阅活动?
从设计和性能的角度来看哪种方法更好?
在一般情况下,如果你实现一个基类(即:继承表),这是更好地覆盖基类的方法。
这是更好的多种原因 - 这些方法通常首先发生,并始终保证顺序(如果您使用该事件,其他方法可以通过其他用户可能会影响您的方法)。另外,这样做的开销(稍微少一点)。
可能最好的原因是,这是可以接受的做法,这可以让代码更易于维护,尤其是其他开发人员。
除非需要修改OnLoad()行为,否则我宁愿使用对Load事件的订阅。速度较慢,但我认为这在概念上更为正确。