ConstructiCat Logo
CodeBust.
Browse section ▾

Incorporar clase.

Problem

Una clase casi no hace nada y no es responsable de nada, y no se planean responsabilidades adicionales para ella.

Solution

Mueve todas las características de la clase a otra.

##Example

Antes
Person namegetTelephoneNumber() TelephoneNumber officeAreaCodeofficeNumbergetTelephoneNumber() 1
Después
Person nameofficeAreaCodeofficeNumbergetTelephoneNumber()

##Why Refactor

  • A menudo esta técnica es necesaria después de que las características de una clase se “trasplantan” a otras clases, dejando a esa clase con poco que hacer.

##Benefits

  • Eliminar clases innecesarias libera memoria operativa en el ordenador, y ancho de banda en tu cabeza.

##How to Refactor

  1. En la clase receptora, crea los campos y métodos públicos presentes en la clase donante. Los métodos deben remitir a los métodos equivalentes de la clase donante.

  2. Sustituye todas las referencias a la clase donante por referencias a los campos y métodos de la clase receptora.

  3. Ahora prueba el programa y asegúrate de que no se han añadido errores. Si las pruebas muestran que todo funciona perfectamente, comienza a usar Mover método y Mover campo para trasplantar por completo toda la funcionalidad de la clase original a la receptora. Continúa haciéndolo hasta que la clase original quede completamente vacía.

  4. Elimina la clase original.