Предположим, что A, B и C являются классами. C наследуется от A и B, используя их в качестве миксинов.
В этот момент A может получить доступ к любым атрибутам на B и C через self.whither. B может получить доступ к любым атрибутам A и C через self.whither. И C может обращаться к любым атрибутам A и B через self.wh независимо.
Существуют ли какие-либо хорошие статьи или существует консенсус, по которому из них следует «знать» о том, как взаимодействовать с другими при использовании этого паттерна «смешения» в python? Например, должен ли C использовать функциональность только в A / B, а не наоборот? Или A / B должен использовать функциональность только на C, а не наоборот?
РЕДАКТИРОВАТЬ - это код, который я унаследовал от другого автора. Объяснение было в том, что при использовании патча mixin в python это приемлемый дизайн. Вы, ребята, подтвердили, что это не так. Как я упоминал ниже в комментарии, я бы никогда не пошел на объектно-ориентированное проектирование таким образом, и я буду рефакторинг кода. Я был открыт к возможности того, что было что-то в паттерне «миксин», которое я не понимал, поэтому возник вопрос. Также спасибо за отрицательные голоса.