По крайней мере, для Perl's Moose нет интерфейсов, поэтому роли четко подразделяются на них и обычно тоже на миксины. Я бы сказал, что все еще может быть случай для абстрактных базовых классов. Роли могут быть рассмотрены, какие объекты делают , где классы являются тем, чем они являются .
По этой линии рассуждений все еще может быть допустимое использование абстрактного базового класса. URL является одним из примеров. Там легко может быть абстрактный базовый класс для URL. Поток ввода-вывода может быть другим, возможно, лучше роль, поскольку он определяет, как вещи ведут себя, а не как они.
Тем не менее, при использовании ролей мне еще предстоит увидеть очевидную потребность в истинном множественном наследовании более чем из одного класса.