Refactoring object-oriented applications towards a better decoupling and instantiation unanticipation

3Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

Modularity in Object-Oriented (OO) applications has been a major concern since the early years of OO programming languages. Migrating existing OO applications to Component-Based (CB) ones can contribute to improve modularity, and therefore maintainability and reuse. In this paper, we propose a method for source code transformation (refactoring) in order to perform this migration. This method enhances decoupling by considering that some dependencies between classes should be set through abstract types (interfaces) like in CB applications. In addition, some anticipated instantiations of these classes "buried" in the source code are extracted and replaced by declarative statements (like connectors in CB applications) which are processed by a dependency injection mechanism. For doing so, a set of "Bad Smells", i.e., modularity-violating symptoms, has been defined. These are first detected in the source code. Then, some refactoring operations are applied for their elimination. An implementation of the method was successfully experimented on a set of open source Java projects. The results of this experimentation are reported in this paper.

Cite

CITATION STYLE

APA

Zellagui, S., Tibermacine, C., Bouziane, H. L., Seriai, A. D., & Dony, C. (2017). Refactoring object-oriented applications towards a better decoupling and instantiation unanticipation. In Proceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE (pp. 450–455). Knowledge Systems Institute Graduate School. https://doi.org/10.18293/SEKE2017-119

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free