Abstract
Softwares evolve and continue to change during their life cycle in order to satisfy new requirements. Such evolution has a cost which depends on the degree of maintenance complexity and modules dependencies. Many software structures such as design patterns represented solutions to make maintenance being modular and not transverse, but each one of these structures corresponds to a specific case of maintenance task. In this paper, we propose a so called Shadow structure for performing modular evolutions of Java program methods implementations. We give specification of this structure and we show how to implement it in Java programs. We discuss its effectiveness in facilitating maintenance and increasing cohesion.