WikiDer > Зеркало (программирование)
В компьютерное программирование, а зеркало это отражение механизм, который полностью отделен от объекта, структура которого подвергается интроспекции. Это противоположно традиционному размышлению, например, в Ява, где объект исследуется с использованием методов самого объекта (например, getClass ()
).
Зеркала соответствуют качествам инкапсуляция, стратификация и онтологическое соответствие.[1]
Преимущества
Разделение механизма отражения от самих объектов дает несколько преимуществ:
- Интерфейс объекта не загрязнен, поэтому нет опасности нарушить отражение, переопределив метод отражения.
- Зеркальные системы могут быть разные.
- Зеркальную систему можно полностью удалить (что потенциально позволяет провести оптимизацию).
- Зеркальная система может работать с удаленным кодом, поскольку она не связана с конкретной машиной.
Языки, использующие зеркала
- Дротикчерез его отражать функция.
- Инко[2]через его std :: зеркало модуль.
- Рубиниус (Рубин реализация), через его Рубиниус :: Mirror.reflect метод.[3]
- Scala[4]
- Быстрыйчерез его отражать функция.
Рекомендации
- ^ Гилад Браха и Давид Унгар, «Метауровневые средства объектно-ориентированных языков программирования»
- ^ https://inko-lang.org/faq/#header-does-inko-support-reflection
- ^ https://github.com/rubinius/rubinius/blob/master/core/mirror.rb
- ^ http://docs.scala-lang.org/overviews/reflection/environment-universes-mirrors.html
Этот Информатика статья - это заглушка. Вы можете помочь Википедии расширяя это. |