Refactoring and Design Patterns
Link: Refactoring and Design Patterns: "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."