Está en la página 1de 3

10.

- Las jerarquías de herencia paralelas

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

Una solución al Vehículo-Operador jerarquías paralelas problema de ejemplo se puede encontrar en


patrón inteligente hijos.

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.

Jerarquías paralelas de herencia (Parallel Inheritance Hierarchies): Esto ocurre cuando al


añadir una clase en una jerarquía se hace evidente la necesidad de añadir una nueva clase en otra
jerarquía distinta. Si las instancias de una jerarquía hacen referencia a las de la otra se puede
eliminar una de ellas llevando sus métodos a la otra.

https://www.google.com.bo/?gws_rd=cr,ssl&ei=XkguVf-sKYXssAXB14DYCQ

Esta idea es similar a la identificación de Defer(aplazar) patrón de variables de estado.


Básicamente se establece que los hijos de un problema jerarquías paralelas deben saber acerca de
los niños correspondientes de la otra jerarquía.
Cualquier tonto puede escribir código que un ordenador pueda entender. Los buenos programadores
escriben código que los humanos pueden entender.

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.