Anda di halaman 1dari 3

10.

- Las jerarquas de herencia paralelas


Jerarquas de herencia paralelo es realmente un caso especial de la ciruga escopeta. En este caso,
cada vez que realice una subclase de una clase, tambin se tiene que hacer una subclase de otra. Se
puede reconocer este olor porque los prefijos de los nombres de las clases en una jerarqua son los
mismos que los prefijos en otra jerarqua.
La estrategia general para la eliminacin de la duplicacin es asegurarse de que los casos de una
jerarqua se refieren a los casos de la otra. Si utiliza el mtodo Move y Mover campo, la jerarqua
de la clase de referencia desaparece.
-----------------El problema jerarquas paralelas es cuando usted tiene dos jerarquas de herencia paralelos
asociados por la composicin. Figura 1. El problema existe slo si hay restriccin en la interaccin
de los objetos como en el ejemplo siguiente.
Usted necesita tener una jerarqua de vehculos para diferentes vehculos, y una jerarqua del
operador para los diferentes operadores de vehculos. En este caso, el operador se almacena en la
clase Vehicle abstracto. Si existen restricciones sobre la que los operadores pueden utilizar los
vehculos que a continuacin, es posible que una clase Plane se podra dar un operador del
controlador, lo que obviamente es vlido.
Este problema no puede evitarse completamente, pero se puede estructurar de la mejor manera
posible utilizando el patrn de los nios inteligentes y la identificacin del patrn Aplazar variables
de estado (que estn estrechamente relacionadas).
Una solucin al Vehculo-Operador jerarquas paralelas problema de ejemplo se puede encontrar en
patrn inteligente hijos.
Jerarquas Paralelas. Cada vez que se aade una subclase a una jerarqua hay que aadir otra
nueva clase en otra jerarqua distinta.
Jerarquas paralelas de herencia (Parallel Inheritance Hierarchies): Esto ocurre cuando al
aadir una clase en una jerarqua se hace evidente la necesidad de aadir una nueva clase en otra
jerarqua distinta. Si las instancias de una jerarqua hacen referencia a las de la otra se puede
eliminar una de ellas llevando sus mtodos a la otra.

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

Esta idea es similar a la identificacin de Defer(aplazar) patrn de variables de estado.


Bsicamente se establece que los hijos de un problema jerarquas paralelas deben saber acerca de
los nios correspondientes de la otra jerarqua.

Cualquier tonto puede escribir cdigo que un ordenador pueda entender. Los buenos programadores
escriben cdigo que los humanos pueden entender.
Refactoring (sustantivo): un cambio realizado en la estructura interna de software para que sea ms
fcil de entender y ms barato de modificar sin cambiar el comportamiento observable del software.
Refactor (verbo): reestructurar software mediante la aplicacin de una serie de refactorizaciones sin
cambiar el comportamiento observable del software.

Anda mungkin juga menyukai