1. 程式人生 > >侵入式和非侵入式框架的區別

侵入式和非侵入式框架的區別

什麼是框架的侵入性?

一句話概括就是,你的程式碼需要依賴框架的程式碼,如果把框架拿掉或者換一個框架,就需要重新修改程式碼。

舉個很簡單的栗子啦:
如果使用侵入式的框架,一般需要繼承或者實現框架的某一個類或介面,這樣你把框架拿到以後就會執行不起來,甚至在程式碼層面會報錯哦。
那麼如同spring這種非侵入式的框架,都是利用反射和動態呼叫來例項化的,程式碼中沒有任何與spring交叉的類,哪怕把spring的jar全部去了,你的程式碼不受任何影響,加上其他的框架後可以繼續執行。

為什麼要這麼做呢?

程式碼有一個很好的設計原則是 “高內聚,低耦合” ,這個原則也使得必須降低框架的侵入性。