IOC控制反转简单示例
??? 让服务消费者不直接依赖于服务提供者的设计方式,减少类与类之间依赖的设计原则。
??? Ioc的目的就是移植,减少组件的依赖性!
public Class MyClass{
Logger _logger;
public void setLogger(Logger logger){
this._logger=logger;
}
public void helloWorld(){
_logger.DEBUG("Start DEBUG print....");
System.out.println(“hello world");
_logger.DEBUG("End DEBUG print.....");
}
}
现在调用时:
public Class UseLogger{
Logger _logger=Logger.getLogger(this.getClass());
public void execute(){
MyClass myClass=new MyClass();
myClass.setLogger(_logger);
myClass.helloWorld();
}
}
目前控制反转的几种实现方式:
.基于方法的
.基于接口的
.基于设值的
.基于构造的