Зеркало (программирование)
В компьютерном программировании зеркало — это механизм отражения , полностью отделенный от объекта, структура которого изучается. Это противоположность традиционному отражению, например, в Java , где объект анализируется с использованием методов самого объекта (например, getClass()
).
Зеркала обладают качествами инкапсуляции , стратификации и онтологического соответствия. [1]
Преимущества
[ редактировать ]Отделение механизма отражения от самих объектов дает несколько преимуществ:
- Интерфейс объекта не загрязняется, поэтому нет опасности нарушения отражения путем переопределения отражающего метода.
- Системы зеркал могут быть разными.
- Зеркальную систему можно полностью удалить (потенциально с возможностью оптимизации).
- Зеркальная система может работать на удаленном коде, поскольку она не связана с конкретной машиной.
Языки, в которых используются зеркала
[ редактировать ]- Dart с помощью функции отражения .
- Инко , [2] через модуль std::mirror .
- Rubinius ( реализация Ruby ) через метод Rubinius::Mirror.reflect . [3]
- Скала [4]
- Swift с помощью функции отражения .