Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Capitulo 7 moving features between objects

181 visualizaciones

Publicado el

capitulo que habla sobre el movimiento de funciones entre objetos

Publicado en: Ingeniería
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Capitulo 7 moving features between objects

  1. 1. CAPITULO 7 Juan Pablo Rivera 000261281 Ing sistemas e informática Fowler Martin - Refactoring Improving The Design Of Existing Code
  2. 2. El desplazamiento de funciones es una de las decisiones mas fundamentales a la hora de crear código esto se usa para poner responsabilidades en las funciones, para hacer un desplazamientos es necesario usar move method o move field , para separar las responsabilidades de una clase se usa Extrac class , para juntar la función con otra clase se usa inline.
  3. 3. Move method (Mover método) Se centra en un método que será utilizado o llamado por mas características de otra clase diferente de en la que está definido. Al mover los métodos se puede lograr que las clases sean más simples.
  4. 4. Mecanismo 1-Examinar todas las características que se utilizan en el método origen. 2-Si hay otras declaraciones es posible que no se pueda hacer el movimiento a menos que se pueda establecer un polimorfismo. 3-Copiar el código del método para que funcione en otra clase 4-Dejar el origen como un método de delegación es más fácil si se tienen Muchas referencias. · Si se elimina el método de origen, se debe reemplazar todas las referencias con referencias al destino.
  5. 5. -Move Fielld (Mover campo) Un campo es, o será usado por otra clase más que la clase sobre la cual es definido ,si se Crea un nuevo campo en la clase objetivo El movimiento del estado y el comportamiento entre clases es la esencia misma de nueva refactorización Como el código está en desarrollo, principalmente se encuentra la necesidad de nuevas clases y la necesidad de revolver las responsabilidades alrededor de Una decisión de diseño que es razonable y correcta.
  6. 6. mecanismo Si el campo es público, para emplear esto se debe encapsular el Campo .Compilar y probar. · Crean un campo en la clase objetivo con la adquisición y el ajuste de métodos. · Compilan la clase objetivo. · Determinar como referirse el objeto objetivo de la fuente. · Quitar el campo sobre la clase origen. · Sustituir todas las referencias al campo del origen con referencias al método apropiado sobre el objetivo. . Compilar y probar.
  7. 7. -Extract class (Extracción de clase) Se debe Crear una nueva clase , esta debe mover los campos relevantes y métodos de la vieja clase en la nueva clase. Principalmente se hace una extracción de la clase en la cual se está centrando el desarrollo,.
  8. 8. mecanismo . hacer un Split a las responsabilidades de la clase. · Crear una nueva clase para expresar las responsabilidades de separación. . hacer un enlace entre la vieja clase y la nueva clase Hacer un movimiento sobre cada campo que se desea mover · Compilar la prueba después de cada movimiento.
  9. 9. Hide Delegate (Esconder delegado) Se da cuando se está llamando a una clase que delega un objeto Se puede crear métodos en el servidor para ocultar al delegado de la clase mecanismo . crear un método de delegación en el servidor por cada método creado localmente . ajustar el cliente para que llame al servidor y haga el llamado del método . ·Compilar y probar después de ajustar cada método
  10. 10. Remove middle man Una clase está haciendo demasiada delegación simple. Se debe hacer que el cliente llame directamente al delegado las ventajas de encapsular un objeto tiene un uso particular en la eficiencia y seguridad del código, El precio es que cada vez que el cliente quiere Nueva característica del delegado, tiene que agregar un método de delegación simple a la clase origen. Después Añadiendo características por un tiempo, se vuelve tedioso. La clase origen es sólo un intermediario
  11. 11. Introduce foraeign method (Introducir método extranjero) Una clase del servidor que se esta utilizando necesita un método adicional, pero no puede modificar la clase original. Como funciona .Crear un método en la clase cliente . . · Hacer una instancia de la clase servidor en el primer parámetro. . Comentar el método como "método extranjero”, este debe estar instanciado en el servidor.
  12. 12. -introducir extensión local Una clase servidor que se está utilizando necesita varios métodos adicionales, pero no puede modificar la clase. Se debe Crear una nueva clase que contenga estos métodos adicionales. Adicional a esto se debe Hacer de esta clase una extensión o una subclase de la original. Mecanismo · Crear una clase de extensión como una subclase o un contenedor del original. · Agregue constructores de conversión a la extensión. . Añada nuevas funciones a la extensión. · Reemplace el original con la extensión donde sea necesario.
  13. 13. Muchas gracias

×