strategy pattern
refactoring is a controllable process of improving code without creating new functionality. design patterns are typical solutions to the commonly occurring problems in software design.
ADS