metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-01-11 04:15 pm

Цмокi у галаве

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

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

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

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

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

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

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