我想了个例子,很好的说明了什么叫侵入性.
初级解释:
A是侵入性的,B代码中使用A,那么如果以后不用A了(用另外一个工具代替),必须修改B的代码。
反之,如果A是非侵入性的,B不用A,用C了,代码不需要改,改改配置文件什么的,就可以了。
进阶解释:
Spring和hibernate都是通过声明式配置文件,
就可以实现我们所要的功能,很少用他们的API
进行编码,估计这是叫低侵入性吧,
EJB则相反。
Spring和hibernate都是通过声明式配置文件,
就可以实现我们所要的功能,很少用他们的API
进行编码,估计这是叫低侵入性吧,
EJB则相反。
最终解释
-------------------------------------------------------------------------------
上面两个是网上找的,这个是我自己打比方解释的,你们感受一下
入侵性, 国家A 要为国家B提供某种服务, 比如国防保护吧, 他提供了武器装备和一些武器使用的军事人员, 国家A和国家B 界限清白,单纯的武器交易关系,这就叫做低侵入性,如果A国家直接在B国家建立军事基地, 还要B国家出钱啊,整天军演招摇过市, 影响百姓生活,影响一个国家的正常行为,这就叫做高入侵性.
放到程序里,一个框架的低入侵性, 就是说,想不使用这个框架的时候, 需要改的代码很少,因为这个框架可以通过配置xml ,properties文件等等 而单独发挥作用, 如果一个框架的高入侵性, 就是说, 如果突然不想使用这个框架, 那么需要改的代码特别多,因为 这个框架影响了整个代码编写, 到处都要使用它提供的方法, 其他代码对这个框架的方法 依赖性特别高.