A object oriented approach that helps to understand and use dependency injection.