Re[6]: Swift
От: alex_public  
Дата: 29.07.14 17:00
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Видишь ли, есть задачи для рефлексии, которые статически нерешаемы в принципе.


Ты конечно же можешь привести примеры практических задач, которые эффективно решались бы только с помощью динамической интроспекции? )
Re[7]: Swift
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.07.14 18:01
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Ты конечно же можешь привести примеры практических задач, которые эффективно решались бы только с помощью динамической интроспекции? )


Безусловно. Собственно, большая часть задач как раз статически и не решаема. Типичный пример — метаданные всевозможных плагинов. На момент компиляции анализирующего кода анализируемый недоступен даже в бинарном виде.
... << RSDN@Home 1.2.0 alpha 5 rev. 100 on Windows 8 6.2.9200.0>>
AVK Blog
Re[8]: Swift
От: alex_public  
Дата: 29.07.14 18:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

_>>Ты конечно же можешь привести примеры практических задач, которые эффективно решались бы только с помощью динамической интроспекции? )


AVK>Безусловно. Собственно, большая часть задач как раз статически и не решаема. Типичный пример — метаданные всевозможных плагинов. На момент компиляции анализирующего кода анализируемый недоступен даже в бинарном виде.


Непонятно как это может быть примером подобной задачи, если существует множество различных реализаций плагинов и даже целых платформ на эту тему, без всякой интроспекции вообще.
Re[9]: Swift
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.07.14 18:41
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Непонятно как это может быть примером подобной задачи, если существует множество различных реализаций плагинов и даже целых платформ на эту тему, без всякой интроспекции вообще.


Ну да, там интроспекция реализована вручную, обычно в виде метода, отдающего те же самые метаданные.
... << RSDN@Home 1.2.0 alpha 5 rev. 100 on Windows 8 6.2.9200.0>>
AVK Blog
Re[10]: Swift
От: alex_public  
Дата: 29.07.14 19:14
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, alex_public, Вы писали:


_>>Непонятно как это может быть примером подобной задачи, если существует множество различных реализаций плагинов и даже целых платформ на эту тему, без всякой интроспекции вообще.


AVK>Ну да, там интроспекция реализована вручную, обычно в виде метода, отдающего те же самые метаданные.


Тоже вариант, особенно если этот метод реализован автоматически (через статическую интроспекцию). Но это вариант для передачи метаданных. А я вот что-то пока не вижу вообще необходимости в метаданных для системы плагинов, т.к. вызывающий код обычно всё же знает все возможные интерфейсы и надо только выяснить какие предоставляет конкретный плагин. Т.е. грубо говоря IUnknown более чем достаточно для реализации нормальной системы плагинов. Или быть может подразумевалась какая-то особенная хитрая система? )

Так может будет ещё какой-то пример пользы динамической интроспекции? А то этот как-то совсем не убедил пока.
Re[10]: Swift
От: vdimas Россия  
Дата: 16.08.14 23:46
Оценка: -1
Здравствуйте, AndrewVK, Вы писали:

_>>Непонятно как это может быть примером подобной задачи, если существует множество различных реализаций плагинов и даже целых платформ на эту тему, без всякой интроспекции вообще.


AVK>Ну да, там интроспекция реализована вручную, обычно в виде метода, отдающего те же самые метаданные.


+1
Итого, интроспекции подлежит только некая явно обозначенная часть метаинформации, а не вообще вся. Причем, на стороне этого плагина такая метаинформация доступна статически.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.