侵入式開發與非侵入式開發的區別


假設大家都想要把用戶代碼塞到一個框架里。兩者區別就出來了: 侵入式的做法就是要求用戶代碼“知道”框架的代碼,表現為用戶代碼需要繼承框架提供的類。 非侵入式則不需要用戶代碼引入框架代碼的信息,從類的編寫者角度來看,察覺不到框架的存在。 舉個栗子: 使用struts時,需要繼承一些struts的類,這時struts侵入到了我的代碼里。 使用spring時,編寫一些業務類的時候不需要繼承spring特定的類,通過配置完成依賴注入后就可以使用,此時,spring就沒有侵入到我業務類的代碼里。 世界上每一個物體的存在,必有其過人之處,但是人無完人,不可能存在永遠完美的東西存在,其也會受到時代潮流的影響: 侵入式讓用戶代碼產生對框架的依賴,這些代碼不能在框架外使用,不利於代碼的復用(缺點)。但侵入式可以使用戶跟框架更好的結合,更容易更充分的利用框架提供的功能(優點)。 非侵入式的代碼則沒有過多的依賴,可以很方便的遷移到其他地方。但是與用戶代碼互動的方式可能就比較復雜。 這兩種方式都有各自的利弊,主要看實際開發時怎么選擇他了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM