The Dependency Lookup is an approach where we get the resource
after demand. Various ways to get the resource are mentioned below:
Using new keyword
ClassA obj = new ClassAImpl();
Static factory method
ClassA obj = ClassA.getClassA();
Using JNDI (Java Naming Directory Interface) :
Context ctx = new InitialContext();
Context environmentCtx = (Context) ctx.lookup ("java:comp/env");
ClassA obj = (ClassA)environmentCtx.lookup("ClassA ");
Problems
of Dependency Lookup
Tight coupling: The dependency lookup approach makes the code
tightly coupled. If resource is changed, we need to perform a lot of
modification in the code.
Not easy for testing: This approach creates a lot of problems while
testing the application especially in black box testing.
Dependency
Injection (DI) is a design pattern that
removes the dependency from the code so that it can be easy to manage and test
the application. It makes our programming code loosely coupled.
This process is fundamentally the inverse, hence the name
Inversion of Control (IoC), of the bean itself controlling the instantiation or
location of its dependencies by using direct construction of classes, or a
mechanism such as the Service Locator pattern.
The org.springframework.beans and org.springframework.context
packages are the basis for Spring Framework’s IoC container.
No comments:
Post a Comment