发布网友 发布时间:2024-10-02 21:16
共1个回答
热心网友 时间:2024-10-02 22:02
IoC(Inversion of Control),即控制反转,有多种实现策略。其中最常见的两种形式如下:
首先,是依赖查找的方式。在这种模式下,容器作为中心,为组件提供回调接口和上下文条件。例如,EJB和Apache Avalon均采用了这种模式。组件必须依赖容器提供的API来寻找和协作对象。控制反转主要体现在回调方法上,即类型1的反转:容器会在适当的时候调用这些回调,从而让应用代码间接获取所需的资源。
另一种是依赖注入,即组件自身不进行资源查找,而是提供常规的Java方法,让容器负责决定和设置依赖关系。在这种模式下,容器全面负责组件的装配过程,它会根据对象的依赖关系,通过JavaBean属性(设值方法注入,Setter Injection)或构造函数(构造子注入,Constructor Injection)来注入合适的对象。这种方式让代码更加解耦,更易于维护和扩展。
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。