Los hechos:dependencia circular en C++
- Tengo dos clases predominantes: Director y Especialista.
- Existen varios tipos diferentes de especialistas.
- Los especialistas a menudo requieren la ayuda de otros especialistas para realizar su trabajo.
- El gerente conoce a todos los especialistas e inicialmente, cada especialista solo conoce a su gerente. (Este es el problema.)
- En tiempo de ejecución, el administrador crea y almacena una lista de especialistas. A continuación, el administrador recorre la lista y le pide a cada especialista que se inicialice. Durante su inicialización, cada especialista solicita al gerente que les proporcione otros especialistas que cumplan con alguna descripción. Una vez que esto se completa, el Administrador entra en un ciclo durante el cual se les pide a los Especialistas que realicen su tarea especializada.
Para mí parece que este es un patrón decente, pero como un Gerente tiene una lista de Especialistas y un Especialista tiene un Gerente, tengo problemas de dependencia circular.
¿Es este un caso en el que de alguna manera debo adelantar declarar la existencia de una clase de otra? (De ser así, ¿cómo?) ¿O debería usar algún patrón de diseño para solucionar este problema? (Si es así, ¿qué?) Además ... pensé que el patrón en sí era bastante bueno. así que no me importaría que alguien me ayude a entender por qué esto es malo.
¿Podría mostrarnos una muestra de lo que tiene y exactamente qué problemas tiene? –
He visto esta pregunta muy similar varias veces hace poco - aquí está la más reciente http://stackoverflow.com/questions/4016471/circular-reference-problem –
@Greg - Las preguntas son similares, sin embargo, yo Estoy interesado no solo en resolver la dependencia circular, sino también en entender si el patrón que uso está defectuoso por algún motivo. – JnBrymn