Java代碼非侵入式和侵入式的比較

侵入式(引入或繼承了別的包或者框架)

表面的理解是:你的代碼裏已經嵌入了別的代碼,這些代碼可能是你引入過的框架,也可能是你通過接口繼承得來的,這樣你就可以擁有侵入代碼的一些功能。所以我們就稱這段代碼是侵入式代碼。侵入式讓用戶代碼產生對框架的依賴,這些代碼不能在框架外使用,不利於代碼的複用。

侵入時代碼的優點:侵入式可以使用戶跟框架更好的結合,更容易更充分的利用框架提供的功能。 

缺點:框架外代碼就不能使用了,不利於代碼複用。依賴太多重構代碼很難。

 

非侵入式(沒有依賴,自主研發)

與侵入式相反,你的代碼沒有引入別的包或框架,完完全全是自主開發。

優點:代碼可複用,方便移植。非侵入式的代碼則沒有過多的依賴,可以很方便的遷移到其他地方。

缺點:但是與用戶代碼互動的方式可能就比較複雜。

非侵入式也體現了代碼的設計原則:高內聚,低耦合

 

非侵入式和侵入式的比較:

非侵入式設計:一個客戶端的代碼可能包含框架功能和客戶端自己的功能。

侵入式設計:就是設計者將框架功能“推”給客戶端,而非侵入式設計,則是設計者將客戶端的功能“拿”到框架中用。

侵入式設計有時候表現爲客戶端需要繼承框架中的類,而非侵入式設計則表現爲客戶端實現框架提供的接口。

侵入式設計帶來的最大缺陷是,當你決定重構你的代碼時,發現之前寫過的代碼只能扔掉。而非侵入式設計則不然,之前寫過的代碼仍有價值。
 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章