have a separate object, an assembler, that populates a field in the lister class with an appropriate implementation for the finder interface[.]” Martin Fowler, “Inversion of Control Containers and the Dependency Injection Pattern” (https://www.martinfowler.com/articles/injection.html, 2004)
but Y might also be visible to other objects in different ways. In Smalltalk, this kind of visibility usually represents a dependency between two objects.” Grady Booch, Object-Oriented Analysis and Design (Addison-Wesley, 1994 [1990]), 140.
Dependency Injection. The basic principle is that beans define their dependencies (i.e. the other objects they work with) only through constructor arguments, arguments to a factory method, or properties which are set on the object instance after it has been constructed or returned from a factory method. Then, it is the job of the container to actually inject those dependencies when it creates the bean. “Spring Reference Documentation” (https://docs.spring.io/spring-framework/docs/1.1.1/spring-reference.pdf, 2004, 11).