Q-DESIGN: Questions de conception (design)

Questions de réflexion

Q1: Pourquoi Bob Martin a dit un jour que le rôle de l’architecte est de maximiser les décisions à ne pas prendre ?

Q2: Comment l’effet Dunning-Kruger peut affecter votre capacité à être un bon architecte Indice: si vous ne savez pas ce qu’est cet effet, vous pouvez faire quelques recherches sur Internet…

Q3: Donnez des idées ou des odeurs (smells) que vous pourriez avoir lors d’un développement qui indiqueraient une trop grande complexité.

Q4: Quel lien positif pouvez-vous faire entre le polymorphisme, l’effet d’avalanche et la complexité inutile?

Q5: Quel lien négatif pouvez-vous faire entre le polymorphisme et l’effet d’avalanche?

Q6: Le SRP est un principe visant principalement à

Q7: Est-ce que le concept derrière le SRP pourrait s’appliquer à une

Q8: Est-ce possible que le non-respect SRP puisse

Q9: En quoi le respect du DIP peut augmenter le couplage et causer un effet d’avalanche?

Q10: Dans le cas suivant:

  eClient --> Interface <|-- Impl

Qu’est-ce qui est couplé avec quoi ? Et quel effet d’avalanche semblera le plus évident pour un expert du domaine d’affaires?

Q11: En quoi le respect du DIP peut diminuer le couplage ?

Q12: En quoi le non-respect de l’ISP peut augmenter le couplage ?

Solutions

R4: Le polymorphisme permet de “diriger” l’avalanche, de protéger le client et permet d’étendre plus tard sans connaître le futur.

R5: (plusieurs réponses possibles) Si jamais la classe de base change…

R6: c

R7: e

R8: c

R10: eClient couplé avec Interface; Impl couplé avec Interface; le couplage de eClient si le design est bien fait.

Réponses: Plusieurs de ces questions n’ont volontairement pas de réponses en raison de la nature de la question ouverte. N’hésitez pas à discuter avec les assistants dans le laboratoire, dans les pauses du cours ou lors des périodes de questions du cours. Ce sont cependant des questions difficiles à répondre par courriel.