Для хорошего сравнения и рассуждений о том, почему предпочтительны черты, вы можете проверить бумагу черт (pdf) .
По сути, это то, что Лукас Ренггли сказал:
Члены-черты составлены в класс и не меняют его иерархию наследования. Конфликты должны быть явно разрешены пользователем черт.
Миксины линеаризуются в иерархию наследования целевого класса. Если есть конфликтующие участники, порядок, в котором они были объявлены, определяет, какой член будет вызван. Это хрупкий , поскольку он неявно определяет поведение композиции, и автор класса должен знать о потенциальных конфликтах и о том, как они повлияют на результирующий класс.
Поскольку миксины становятся линеаризованными, они не страдают от пресловутой " проблемы с алмазом " множественного наследования. Таким образом, хрупкая природа, в которой они сложены, является другой проблемой, которую я назову « проблема рубина », чтобы сохранить метафору драгоценного камня. По некоторым странным причинам, связанным с лосями , жемчуг не отражает проблему так же хорошо, как рубины.