虛擬函數(shù)性能缺陷
時間:2023-03-26 13:16:01 | 來源:營銷百科
時間:2023-03-26 13:16:01 來源:營銷百科
虛擬函數(shù)性能缺陷:這樣可以得出結(jié)論,即虛擬函數(shù)引入的性能缺陷只是無法利用內(nèi)聯(lián)函數(shù)。
可以進一步設想,非虛擬函數(shù)的常規(guī)設計假如需要增加一種新的圖形類型,或者刪除一種不再支持的圖形類型,都必須修改該圖形系統(tǒng)所有使用者的所有與類型相關(guān)的函數(shù)調(diào)用的代碼。這里使用者只有Canvas一個,與類型相關(guān)的函數(shù)調(diào)用代碼也只有Paint和RotateSelected兩處。但是在一個復雜的程序中,其使用者很多。并且類型相關(guān)的函數(shù)調(diào)用很多時,每次對圖形系統(tǒng)的修改都會波及到這些使用者??梢钥闯霾皇褂锰摂M函數(shù)的常規(guī)設計增加了代碼的耦合度,模塊化不強,因此帶來的可擴展性、可維護性,以及代碼的可讀性方面都極大降低。面向?qū)ο缶幊痰囊粋€重要目的就是增加程序的可擴展性和可維護性,即當程序的業(yè)務邏輯發(fā)生變化時,對原有程序的修改非常方便。而不至于對原有代碼大動干戈,從而降低因為業(yè)務邏輯的改變而增加出錯的可能性。根據(jù)這點分析,虛擬函數(shù)可以大大提升程序的可擴展性及可維護性。
因此在性能和其他方面特性的選擇方面,需要開發(fā)人員根據(jù)實際情況進行權(quán)衡和取舍。當然在權(quán)衡之前,需要通過性能檢測確認性能的瓶頸是由于虛擬函數(shù)沒有利用到內(nèi)聯(lián)函數(shù)的優(yōu)勢這一缺陷引起;否則可以不必考慮虛擬函數(shù)的影響。
關(guān)鍵詞:缺陷,性能,函數(shù),虛擬