如果我爲我的Windows應用程序創建了一個Abstract BaseForm
,那麼在加載應用程序的表單時,我可以使用它來執行常見操作。我也可以override
OnLoad
方法,或我訂閱Load
事件(BaseForm_Load
)。我應該繼承還是訂閱活動?
從設計和性能的角度來看哪種方法更好?
如果我爲我的Windows應用程序創建了一個Abstract BaseForm
,那麼在加載應用程序的表單時,我可以使用它來執行常見操作。我也可以override
OnLoad
方法,或我訂閱Load
事件(BaseForm_Load
)。我應該繼承還是訂閱活動?
從設計和性能的角度來看哪種方法更好?
在一般情況下,如果你實現一個基類(即:繼承表),這是更好地覆蓋基類的方法。
這是更好的多種原因 - 這些方法通常首先發生,並始終保證順序(如果您使用該事件,其他方法可以通過其他用戶可能會影響您的方法)。另外,這樣做的開銷(稍微少一點)。
可能最好的原因是,這是可以接受的做法,這可以讓代碼更易於維護,尤其是其他開發人員。
除非需要修改OnLoad()行爲,否則我寧願使用對Load事件的訂閱。速度較慢,但我認爲這在概念上更爲正確。