История изменений
Исправление deep-purple, (текущая версия) :
Так. Двое сказали что норм. Но лично мне не нравится что у меня получилось именно так. На деле, хотя пример с вопросом главную проблему поднимает, все немного иначе:
Есть главный A в котором при определенных состояниях рождаются, живут и умирают B, C, D и E. Все они — наследники F. F знает про A, A знает про B, C, D и E. Иногда нужно, чтобы D узнал состояние C, а B иногда хочет знать как дела у C и D. E довольно часто, когда ему что-то сетнули, может сделать фикс в B и D, иначе значения конфликтуют (out of range). Короче вызовы из наследников F получаются такие: A->D()->getSome(); A->E()->setSome(value);
Исправление deep-purple, :
Так. Двое сказали что норм. Но лично мне не нравится что у меня получилось именно так. На деле, хотя пример с вопросом главную проблему поднимает, все немного иначе:
Есть главный A в котором при определенных состояниях рождаются, живут и умирают B, C, D и E. Все они — наследники F. F знает про A, A знает про B, C, D и E. Иногда нужно, чтобы D узнал состояние C, а B иногда хочет знать как дела у C и D. E довольно часто, когда ему что-то сетнули, может сделать фикс в B и D, иначе значения конфликтуют (out of range). Короче вызовы из потомков F получаются такие: A->D()->getSome(); A->E()->setSome(value);
Исходная версия deep-purple, :
Так. Двое сказали что норм. Но лично мне не нравится что у меня получилось именно так. На деле, хотя пример с вопросом главную проблему поднимает, все немного иначе:
Есть главный A в котором при определенных состояниях рождаются, живут и умирают B, C, D и E. Все они — наследники F. F знает про A, A знает про B, C, D и E. Иногда нужно, чтобы D узнал состояние C, а B иногда хочет знать как дела у C и D. E довольно часто, когда ему что-то сетнули, может сделать фикс в B и D, иначе значения конфликтуют (out of range). Короче вызовы получаются такие: A->D()->getSome(); A->E()->setSome(value);