侵入式和非侵入式框架的区别 2019-06-19
2019-06-19 本文已影响0人
琴匣自鸣
什么是框架的侵入性?
一句话概括就是,你的代码需要依赖框架的代码,如果把框架拿掉或者换一个框架,就需要重新修改代码。
举个很简单的栗子啦:
如果使用侵入式的框架,一般需要继承或者实现框架的某一个类或接口,这样你把框架拿到以后就会运行不起来,甚至在代码层面会报错哦。
那么如同spring这种非侵入式的框架,都是利用反射和动态调用来实例化的,代码中没有任何与spring交叉的类,哪怕把spring的jar全部去了,你的代码不受任何影响,加上其他的框架后可以继续运行。
为什么要这么做呢?
代码有一个很好的设计原则是 “高内聚,低耦合” ,这个原则也使得必须降低框架的侵入性。