CSC/ECE 517 Fall 2009/wiki1a 8 nd: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 2: Line 2:


'''Problem Statement :''' The list of refactorings has become quite long.  But people don't remember long lists very well.  To promote learning the different patterns, they should be categorized in some way, or perhaps, along various dimensions.  As a reference we have taken the list of refactorings available at [http://www.refactoring.com/catalog/index.html] and categorized them along as many different dimensions as makes sense.
'''Problem Statement :''' The list of refactorings has become quite long.  But people don't remember long lists very well.  To promote learning the different patterns, they should be categorized in some way, or perhaps, along various dimensions.  As a reference we have taken the list of refactorings available at [http://www.refactoring.com/catalog/index.html] and categorized them along as many different dimensions as makes sense.
Class "Changing class
association" "Change Bidirectional
Assn to Unidirectional"
"Change Unidirectional
Assn to Bidirectional"
"Change of
class structure" Collapse Hierarchy
Duplicate Observed Data
Extract Class
Extract SubClass
Extract SuperClass
Inline Class
"Replace Subclass
with Fields"
Separate Data Access Code
Addition to a class Move Field
Move Method
Introduce Local Extension
"Moving Class elements
along the inheritance hierarchy" Pull up constructor body
Pull up Field
Pull up Method
Push down Field
Push down Method

Revision as of 22:30, 4 September 2009

Categorization of Refactorings

Problem Statement : The list of refactorings has become quite long. But people don't remember long lists very well. To promote learning the different patterns, they should be categorized in some way, or perhaps, along various dimensions. As a reference we have taken the list of refactorings available at [1] and categorized them along as many different dimensions as makes sense.

Class "Changing class association" "Change Bidirectional Assn to Unidirectional" "Change Unidirectional

Assn to Bidirectional"

"Change of class structure" Collapse Hierarchy Duplicate Observed Data Extract Class Extract SubClass Extract SuperClass Inline Class "Replace Subclass with Fields" Separate Data Access Code

Addition to a class Move Field Move Method Introduce Local Extension

"Moving Class elements along the inheritance hierarchy" Pull up constructor body Pull up Field Pull up Method Push down Field Push down Method