Logotipo de ConstructiCat
CodeBust.
Explorar la sección ▾

Incorporar clase.

Problema

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

Solución

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

##Ejemplo

Antes
class Person {
  private TelephoneNumber number = new TelephoneNumber();
  String getNumber() { return number.getNumber(); }
}
class TelephoneNumber {
  private String number;
  String getNumber() { return number; }
}
Después
class Person {
  private String number;
  String getNumber() { return number; }
}

##Por qué refactorizar

  • 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.

##Ventajas

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

##Cómo refactorizar

  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.