2009-12-22 52 views
2

如果我为我的Windows应用程序创建了一个Abstract BaseForm,那么在加载应用程序的表单时,我可以使用它来执行常见操作。我也可以overrideOnLoad方法,我订阅Load事件(BaseForm_Load)。我应该继承还是订阅活动?

从设计和性能的角度来看哪种方法更好?

回答

5

在一般情况下,如果你实现一个基类(即:继承表),这是更好地覆盖基类的方法。

这是更好的多种原因 - 这些方法通常首先发生,并始终保证顺序(如果您使用该事件,其他方法可以通过其他用户可能会影响您的方法)。另外,这样做的开销(稍微少一点)。

可能最好的原因是,这是可以接受的做法,这可以让代码更易于维护,尤其是其他开发人员。

1

除非需要修改OnLoad()行为,否则我宁愿使用对Load事件的订阅。速度较慢,但​​我认为这在概念上更为正确。

Also see similar question