An adapter-aware, non-intrusive dependency injection framework for Java

  • Authors:
  • Arnout Roemers;Kardelen Hatun;Christoph Bockisch

  • Affiliations:
  • University of Twente, AE Enschede, the Netherlands;University of Twente, AE Enschede, the Netherlands;University of Twente, AE Enschede, the Netherlands

  • Venue:
  • Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

In strongly typed Object-Oriented Programming languages, it is common to encounter type incompatibilities between separately developed software components one desires to compose. Using the Adapter pattern to overcome these type incompatibilities is only an option if changing the source code of the software components is feasible, as references from objects to other objects are oftentimes hard-coded. The concept of Dependency Injection (DI) is aimed at mitigating the issue of hard-coded references. However, current implementations of DI are intrusive in ways that component developers need to foresee future use cases. To increase the reusability of components we propose an approach and a tool to configure interoperations between components externally, without the need for intrusive code changes. This approach is based on a new dependency injection mechanism that is combined with the Adapter pattern. If necessary, the most appropriate adapter to inject is selected automatically, thereby making the specifications of dependency injection very flexible.