原网站备案在哪,优化网站定制,怎么注册自己网站吗,wordpress蜜蜂依赖注入指的就是类A依赖于类B#xff0c;通过外部注入的方式来实现#xff0c;而不是通过自身去实现。 这样做的好处就是可以使得代码之间更加的解耦。 举个例子#xff0c;船#xff08;ship#xff09;包含有船桨#xff08;oar#xff09;#xff0c;以下为高耦合的… 依赖注入指的就是类A依赖于类B通过外部注入的方式来实现而不是通过自身去实现。 这样做的好处就是可以使得代码之间更加的解耦。 举个例子船ship包含有船桨oar以下为高耦合的写法 public class Oar { //船桨public Oar(){ } } public class Ship {private Oar oar;//船桨public Ship(){oar new Oar();//在类中自己实现船桨}} 这样写的坏处就是ship和oar耦合度太高将来如果oar发生变化比如需要指定oar的长度 public class Oar { int length;public Oar(int length){ this.length length;} } 那么ship的代码也需要进行修改 public class Ship {private Oar oar;public Ship(int length){//指定船桨的长度oar new Oar(length);}} 使用依赖注入的方法对上面的代码进行修改通常有3中方法 1.构造函数传递依赖 public class Ship {private Oar oar;public Ship(Oar oar){this.oar oar;//构造函数传递}} 2.Setter函数传递 public class Ship {private Oar oar;public Ship(){}public void setOar(Oar oar){//setter函数传递this.oar oar;}} 3.接口声明传递 将船和船桨抽象成一个接口 public interface OarI {//浆接口} public interface ShipI {//船接口public void setOar(OarI oar);//接口依赖传递} 船和浆分别继承接口 public class Oar implements OarI{public Oar(){}} public class Ship implements ShipI{private OarI oar;public Ship(){}Overridepublic void setOar(OarI oar) {this.oar oar;}} 经过修改之后船和船桨更加解耦特别是第三种接口传递依赖当需求发生变化时修改的地方会比较少结构也很清晰。 转载于:https://www.cnblogs.com/huangbei1990/p/6409625.html