Двойная отправка
- Статья обсуждает шаблон посетителя и двойную диспетчеризацию в языке программирования Eiffel.
- Двойная диспетчеризация позволяет объектам разных типов взаимодействовать друг с другом полиморфно.
- Шаблон посетителя использует объект посетителя для посещения элементов структуры данных полиморфно.
- Агенты обеспечивают косвенный и классовый анализ для независимой взаимосвязи между вариантами и формой.
- В примере космического корабля используется двойная диспетчеризация для обработки встреч между двумя вариантными объектами.
- Агенты в Eiffel обеспечивают статическую проверку типов и идеальны для полиморфного взаимодействия.
- Использование агентов может привести к большим вычислительным затратам, чем прямой вызов.
- Агенты представляют собой отличное решение для снижения нагрузки на обслуживание при использовании схемы двойной отправки, если ожидается увеличение или существенное изменение области типов классов, участвующих во взаимодействиях с вариантами.
Полный текст статьи: