Object-oriented reengineering patterns /