metaclass: (Default)
[personal profile] metaclass
Тип данных с атрибутом "имя", параметризуемый ссылкой на пространство имен. Используется для того, чтобы от него наследовать(или mixin?) типы, которые после такого наследования получают атрибут "имя", невозможность создать экземпляр с именем которое уже существует и функцию "найти экземпляр по имени".

Date: 2010-01-11 06:18 pm (UTC)
From: [identity profile] clayrat.livejournal.com
так это же тупо reflection

Date: 2010-01-11 06:20 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Типы (вернее объекты-описания типов), которые загружаются по имени (если я правильно понял, причем тут рефлекшн) это частный случай объектов, которые можно искать по имени. "Имя" тут условно сказано, это может быть что нибудь вроде "код предприятия" или еще какая-нибудь уникальная характеристика объектов.

Date: 2010-01-11 06:22 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Вообще в более привычных терминах это больше похоже на aspect-oriented programming, а "именованный объект" это аспект, добавляемый к другим классам.

Date: 2010-01-11 06:30 pm (UTC)
From: [identity profile] clayrat.livejournal.com
тащемта AOP это один из способов реализации reflection (в широком смысле, т.е. метапрограмматическая возможность обращаться к части себя)

Date: 2010-01-11 06:35 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Я почему-то думал, что наоборот, AOP реализуется средствами рефлекшена, типа "разобрать паблик апи класса в рунтайме, добавить нужных методов и перехватчиков на отмеченные методы и подсунуть вместо класса полученный его прокси".

Date: 2010-01-11 06:45 pm (UTC)
From: [identity profile] clayrat.livejournal.com
реализуется узким смыслом, реализует широкий =)

Date: 2010-01-12 07:41 am (UTC)
From: [identity profile] aamonster.livejournal.com
И что? Звучит вменяемо, в рамках це++ вроде реализуется несложно.

Date: 2010-01-12 03:08 pm (UTC)
From: [identity profile] sbj-ss.livejournal.com
Миксин, да.
А вот невозможность создать объект с таким же именем - ересь. Надо 1) учитывать область видимости, 2) дать возможность перекрыть имя в локальной области. Переизобетаем компилятор :)
Компилируемых языков всегда не хватает, да.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 17th, 2025 12:38 am
Powered by Dreamwidth Studios