Знакомства для всех
Наверх
Войти на сайт
Регистрация на сайте
Зарегистрироваться
На сайте недоступна
регистрация через Google
Сайт OxOx.Ru это:
  • Секс знакомства
  • Гей знакомства
  • Лесби знакомства
  • Виртуальный секс
  • Поиск друзей
  • Реальные встречи
  • Приватный чат

    Соната, 47 - 6 сентября 2013 12:01

    Все

    Отражение или рефлексия означает процесс, во время которого программа может отслеживать и модифицировать собственную структуру и поведение во время выполнения. Парадигма программирования, положенная в основу отражения, называется рефлексивным программированием. Это один из видов метапрограммирования. При этом подходе код программы не пишется вручную, а создается автоматически программой-генератором на основе другой, более простой программы.
    Возможность изменять или дополнять себя во время выполнения превращает программу в виртуальную машину. Программы, написанные с помощью некоторых языков, способны обрабатывать собственные инструкции как данные и выполнять, таким образом, рефлексивные модификации. Такие самомодифицирующиеся программы в основном создаются с помощью высокоуровневых языков программирования, использующих виртуальные машины.
    Рефлексивный компонент программы может наблюдать за выполнением определённого участка кода и изменять себя для достижения желаемой цели. Модификация выполняется во время выполнения программы путём динамического изменения кода.
    Рефлексию можно применять и для динамической адаптации программы к различным ситуациям. Например, рассмотрим программу, использующую два разных класса X и Y для выполнения аналогичных операций. Без рефлексии в коде программы методы классов X и Y будут вызываться явно. Если программа спроектирована с применением рефлексивно-ориентированный парадигмы программирования, некоторый участок кода не будет содержать явных вызовов методов классов X и Y; программа выполнит этот участок дважды: сначала для класса X, затем для класса Y.
    Реализация рефлексии на языках, её не поддерживающих, выполняется с помощью системы трансформации программы для автоматического отслеживания изменений исходного кода.
    Все вызываемые методы получают в контексте информацию о том, откуда они вызваны, и ссылки на объекты, к которым они принадлежат. Безопасность контролируется программно с помощью стека вызовов.

    Объектно-ориентированное программирование сводится к созданию некоторого количества классов, включая интерфейс и реализацию, и последующему их использованию. Объектно-ориентированный подход за время своего развития накопил множество рекомендаций (паттернов) по созданию классов и иерархий классов.
    Указание метакласса является пожеланием, а реальный метакласс может быть создан во время исполнения, наследуясь от нескольких родителей: от желаемого метакласса, а также от метаклассов каждого надкласса.
    Шаблон Адаптер применяется, если необходимо создать класс, производный от вновь определяемого или уже существующего абстрактного класса. Адаптер предусматривает создание класса-оболочки с требуемым интерфейсом. Позволяет включать уже существующие объекты в новые объектные структуры, независимо от различий в их интерфейсах. Интерфейс включающего класса приводится в соответствие с новыми требованиями, а вызовы его методов преобразуются в вызовы методов включённого класса.
    Если есть класс, обладающий требуемыми методами и свойствами (по крайней мере, концептуально), то при необходимости всегда можно воспользоваться шаблоном Адаптер для приведения его интерфейса к нужному виду.
    Фасад - это внешний объект, обеспечивающий единственную точку входа для служб подсистемы. Реализация других компонентов подсистемы закрыта и не видна внешним компонентам. Шаблон применяется для установки некоторого рода политики по отношению к другой группе объектов. Если политика должна быть яркой и заметной, следует воспользоваться услугами шаблона Фасад. Если же необходимо обеспечить скрытность и аккуратность (прозрачность), более подходящим выбором является шаблон Заместитель.
    "Заместитель" хранит ссылку, которая позволяет заместителю обратиться к реальному субъекту. "Заместителя" можно подставить вместо "Реального Субъекта". Контролирует доступ к "Реальному Субъекту", может быть использован везде, где ожидается "Реальный Субъект".
    Добавить комментарий Комментарии: 0
    OxOx.Ru - знакомства в крупных городах: Москва, Санкт-Петербург, Нижний Новгород, Ростов на Дону, Самара, Екатеринбург, Новосибирск, Волгоград, Краснодар, Уфа, Пермь, Пенза, Омск. Саратов, Тула, Воронеж, Рязань, Челябинск, Тюмень, Красноярск, Хабаровск, Владивосток.
    Мы используем файлы cookies для улучшения навигации пользователей и сбора сведений о посещаемости сайта. Работая с этим сайтом, вы даете согласие на использование cookies.