Home  >  Article  >  What does ioc mean?

What does ioc mean?

藏色散人
藏色散人Original
2019-06-05 14:18:0940578browse

Inversion of Control (IoC) is a design principle in object-oriented programming that can be used to reduce the coupling between computer codes.

What does ioc mean?

The most common method is called Dependency Injection (DI), and the other method is called "Dependency Lookup". Through inversion of control, when an object is created, an external entity that controls all objects in the system passes the reference of the object it depends on to it. It can also be said that dependencies are injected into the object.

IoC is a big concept and can be implemented in different ways.

There are two main forms:

Dependency lookup:

The container provides callback interfaces and contextual conditions to components. Both EJB and Apache Avalon use this approach. In this way, the component must use the API provided by the container to find resources and collaborative objects. The only inversion of control is only reflected in those callback methods (that is, type 1 mentioned above): the container will call these callback methods, This allows application code to obtain relevant resources.

Dependency injection:

The component does not perform positioning queries, and only provides ordinary Java methods to let the container determine dependencies. The container is solely responsible for the assembly of components. It will pass objects that meet dependencies to the required objects through JavaBean properties or constructors. The practice of injecting dependencies through JavaBean properties is called Setter Injection; the practice of passing dependencies as constructor parameters is called Constructor Injection

The above is the detailed content of What does ioc mean?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn