Pourquoi est-ce une mauvaise conception qu'un objet fasse référence à un autre objet qui renvoie au premier ?
Peut-être que la table de relation SQL classique pourrait être utilisée pour supprimer la circularité de la dépendance entre l'animal et le propriétaire ? Un objet contenant des références aux relations entre le propriétaire et l'animal et supportant des méthodes d'ensemble pour retourner des tuples de sous-ensembles dans les deux sens (ainsi que des méthodes pour ajouter et supprimer ces relations). Dans ce schéma, les classes animal et propriétaire dépendent chacune de cette classe de relation. Cependant, elle ne doit pas nécessairement dépendre de l'une ou l'autre des classes qui l'utilisent.