Object-oriented Reengineering Patterns
Free
Description
Contents
Reviews
Language
English
ISBN
978-3-9523341-2-6
Foreword
Preface
I Introduction
Reengineering Patterns
Why do we Reengineer?
The Reengineering Lifecycle
Reengineering Patterns
The Form of a Reengineering Pattern
A Map of Reengineering Patterns
II Reverse Engineering
Setting Direction
Agree on Maxims
Appoint a Navigator
Speak to the Round Table
Most Valuable First
Fix Problems, Not Symptoms
If It Ain't Broke, Don't Fix It
Keep It Simple
First Contact
Chat with the Maintainers
Read all the Code in One Hour
Skim the Documentation
Interview During Demo
Do a Mock Installation
Initial Understanding
Analyze the Persistent Data
Speculate about Design
Study the Exceptional Entities
Detailed Model Capture
Tie Code and Questions
Refactor to Understand
Step Through the Execution
Look for the Contracts
Learn from the Past
III Reengineering
Tests: Your Life Insurance!
Write Tests to Enable Evolution
Grow Your Test Base Incrementally
Use a Testing Framework
Test the Interface, Not the Implementation
Record Business Rules as Tests
Write Tests to Understand
Migration Strategies
Involve the Users
Build Confidence
Migrate Systems Incrementally
Prototype the Target Solution
Always Have a Running Version
Regression Test After Every Change
Make a Bridge to the New Town
Present the Right Interface
Distinguish Public from Published Interface
Deprecate Obsolete Interfaces
Conserve Familiarity
Use Profiler Before Optimizing
Detecting Duplicated Code
Compare Code Mechanically
Visualize Code as Dotplots
Redistribute Responsibilities
Move Behavior Close to Data
Eliminate Navigation Code
Split Up God Class
Transform Conditionals to Polymorphism
Transform Self Type Checks
Transform Client Type Checks
Factor out State
Factor out Strategy
Introduce Null Object
Transform Conditionals into Registration
IV Appendices
Thumbnail patterns
Testing Patterns
Retest Persistent Problems
Test Fuzzy Features
Test Old Bugs
Refactorings
Encapsulate Field
Extract Method
Move Method
Rename Attribute
Rename Method
Replace Conditional with Polymorphism
Design Patterns
Abstract Factory
Adapter
Facade
Factory Method
Flyweight
Null Object
Quantity
Singleton
State
State Patterns
Strategy
Template Method
Visitor
The book hasn't received reviews yet.