2012-02-07 20 views
6

En mi trabajo (que es 90% Java pero estoy seguro de que esta pregunta se aplica a otros idiomas), a menudo creo dos clases que "se conocen" entre sí. Más concretamente, la clase A importa B, y la clase B importa la clase A, y ambas tienen variables locales o miembros del otro tipo.¿Las dependencias circulares se consideran un mal diseño?

¿Esto se considera un mal diseño? ¿Un antipatrón si lo harás?

+1

dupe [¿Las dependencias de la clase circular son malas desde el punto de vista del estilo de codificación?] (Http://stackoverflow.com/questions/1356304) –

+1

http://stackoverflow.com/questions/1897537/why-are -circular-dependencies-considered-harmful – Pup

+0

Esa pregunta se trata de referencias circulares, objetos que se referencian entre sí y no dependencias de clase –

Respuesta

4

Aquí es mi opinión:

  • Si las dos clases pertenecen al mismo módulo lógico, entonces es probablemente muy bien (todavía una cuestión de criterio, por supuesto, con muchas zonas grises).
  • No está tan bien si las dos clases pertenecen a módulos diferentes. Esto crea una dependencia circular entre módulos. Trato de evitar eso tanto como puedo, prefiriendo una estructura jerárquica clara.
1

Sí, es un mal diseño, contradice los principios de oop, parece que tiene que crear una nueva clase o interfaz contendrá los parámetros compartidos y la función para a y b, ayb importa esta nueva clase. ..

+0

No siempre es cierto. – Pup

Cuestiones relacionadas