Skip to Main Content
Object evangelists have long heralded software reuse as a bonus for applying object-oriented analysis, design, and programming techniques, but the benefits have been less dramatic than anticipated. Designing reusable software systems is difficult because a complete understanding of the software under consideration is only available toward the project's end. An appropriate alternative, then, is to refactor for reuse, restructure the completed system without modifying or adding to its behavior. We describe a refactoring effort undertaken at a Delaware-Valley-based financial firm. This firm sought to reuse components from a large Web-based system.