Ogni volta che leggo qualcosa come questo :
Many programmers exhibit a slight, involuntary shudder whenever multiple inheritance is mentioned. Ask them to identify the source of their unease and they will almost certainly finger the so-called Deadly Diamond of Death inheritance pattern. In this pattern, classes B and C both inherit from class A, while class D inherits from both B and C. If B and C both override some method from A, there is uncertainty as to which implementation D should inherit.
Nonpossotornareindietroenonchiedere:perchériduciilproblemadell'ereditarietàalproblemaDiamond?Capiscicheilproblemaèilnomeconflittochederivadallaconvergenzadelleclassi,piuttostochedallalororiconversione(diamante)?NonhaibisognodellaradicecomuneUnaclasse/interfacciaperilconflittodidenominazione,comemostraildiagramma
È MI che abilita la convergenza di classe e, quindi, i conflitti di denominazione, che sono il problema di cui stiamo parlando. Perché ti piace come non è il caso e continua a chiamarlo un problema di diamante piuttosto che un problema di MI?