定义
当开发的程序的执行是依赖于别的API或者容器的,那么就叫作侵入式开发;反之,则是非侵入式开发。
举例
在这个类中,执行doSome()方法需要HttpServlet类的支持,doOther()需要HttpServletRequest类的支持,但是这两个类都在Tomcat服务器中,需要Tomcat服务器的支持,因此是侵入式设计。
class MyClass{
public void doSome(HttpServlet servlet){
}
public void doOther(HttpServletRequest servletrequest){
}
}
弊端
侵入式设计无法做单元测试,而Spring是一种非侵入式设计,不依赖于特定的类。