Scala, Design Patterns, Programming, Delegation, Coding.
abuse. Modern languages like Haskell and Go have abandoned inheritance to separate both concepts. In order to avoid these problems that appear in Scala in these cases, it should be used composition to delegate implementation and inheritance for providing common interfaces. The following diagram and