Beruflich Dokumente
Kultur Dokumente
Jerarquías de herencia paralelo es realmente un caso especial de la cirugía escopeta. En este caso,
cada vez que realice una subclase de una clase, también se tiene que hacer una subclase de otra. Se
puede reconocer este olor porque los prefijos de los nombres de las clases en una jerarquía son los
mismos que los prefijos en otra jerarquía.
La estrategia general para la eliminación de la duplicación es asegurarse de que los casos de una
jerarquía se refieren a los casos de la otra. Si utiliza el método Move y Mover campo, la jerarquía
de la clase de referencia desaparece.
------------------
El problema jerarquías paralelas es cuando usted tiene dos jerarquías de herencia paralelos
asociados por la composición. Figura 1. El problema existe sólo si hay restricción en la interacción
de los objetos como en el ejemplo siguiente.
Usted necesita tener una jerarquía de vehículos para diferentes vehículos, y una jerarquía del
operador para los diferentes operadores de vehículos. En este caso, el operador se almacena en la
clase Vehicle abstracto. Si existen restricciones sobre la que los operadores pueden utilizar los
vehículos que a continuación, es posible que una clase Plane se podría dar un operador del
controlador, lo que obviamente es válido.
Este problema no puede evitarse completamente, pero se puede estructurar de la mejor manera
posible utilizando el patrón de los niños inteligentes y la identificación del patrón Aplazar variables
de estado (que están estrechamente relacionadas).
Jerarquías Paralelas. Cada vez que se añade una subclase a una jerarquía hay que añadir otra
nueva clase en otra jerarquía distinta.
https://www.google.com.bo/?gws_rd=cr,ssl&ei=XkguVf-sKYXssAXB14DYCQ
Refactoring (sustantivo): un cambio realizado en la estructura interna de software para que sea más
fácil de entender y más barato de modificar sin cambiar el comportamiento observable del software.
Refactor (verbo): reestructurar software mediante la aplicación de una serie de refactorizaciones sin
cambiar el comportamiento observable del software.