Abstract

Superclass is another third-later pattern defined in this paper. During consolidation abstractions common to two of more classes can be moved to a common abstract superclass. This pattern describes that can be done, and what forces must be resolved. Finally, there is the fourth layer of refactoring (ie behavior preserving program transformation) patterns [21] that resolve the forces of this (and similar) patterns. We have found this layered approach helpful in characterizing the program consolidation phase, in 1 While the refactoring examples described herein apply most clearly to C++ programs, we have also researched how these patterns apply to programs written in Smalltalk and CLOS. understanding how refactorings can be interleaved with additions, and in ensuring that refactorings can be safely applied to object-oriented programs [21]. 2 BACKGROUND: OBJECT EVOLUTION There are three distinct phases in the evolution of object-oriented abstract classes, frameworks and components: a ...

Keywords

Code refactoringSoftware evolutionConsolidation (business)Inheritance (genetic algorithm)Computer scienceReuseSoftware engineeringSoftware developmentSoftwareProgramming languageEngineeringSoftware constructionBiologyBusiness

Affiliated Institutions

Related Publications

Object-oriented programming with flavors

This paper describes Symbolics' newly redesigned object-oriented programming system, Flavors. Flavors encourages program modularity, eases the development of large, complex prog...

1986 ACM SIGPLAN Notices 302 citations

Object-oriented programming with flavors

This paper describes Symbolics' newly redesigned object-oriented programming system, Flavors. Flavors encourages program modularity, eases the development of large, complex prog...

1986 Conference proceedings on Object-orie... 198 citations

Publication Info

Year
1995
Type
book
Pages
239-257
Citations
54
Access
Closed

External Links

Citation Metrics

54
OpenAlex

Cite This

Brian Foote, William F. Opdyke (1995). Lifecycle and refactoring patterns that support evolution and reuse. , 239-257.