0

Disons par exemple que je fais un éditeur de carte de tuile.Une dépendance circulaire est-elle une odeur de code? (agnostique de la langue)

Nous avons l'éditeur, qui gère le dessin des carreaux, et nous avons le jeu de carreaux qui est utilisé pour déterminer quelles tuiles sont dessinées.

L'éditeur doit dépendant du jeu de carreaux pour savoir quels carreaux doivent être dessinés, et le jeu de carreaux doit dépendre de l'éditeur pour connaître les dimensions des carreaux à dessiner, ainsi que d'autres détails mineurs.

Ceci crée un code étroitement couplé. Est-ce une odeur de code? Si oui, comment puis-je le résoudre?

Est-ce que je bourre tout dans une grande classe? Est-ce que j'utilise un médiateur pour communiquer entre les deux classes?

+0

Ceci est en rapport avec votre question: http://stackoverflow.com/questions/2052579/circular-dependencies – Pedrom

+0

@Pedrom Non c'est pas. C'est une dépendance circulaire basée sur des références. Je prends environ entre les cours. Complètement différent. – CodingMadeEasy

+0

Avez-vous lu le PDF affiché dans la réponse? http://www.objectmentor.com/resources/articles/granularity.pdf. Les stratégies pour résoudre les dépendances circulaires entre les modules sont similaires à celles des classes. Voici une autre référence parlant du sujet: http://tutorials.jenkov.com/ood/understanding-dependencies.html – Pedrom

Répondre

-1

Écrivez d'abord votre jeu de tuiles avec des tests, puis passez à l'éditeur. Ce faisant, vous aurez résolu votre problème sans même l'envisager.