parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

@OPTIONS partial + dynamic = почему-то надеялся что получу изоляцию набора методов в контексте экземпляров, но наступил на грабли или как деструктировать методы класса?

andylars 19.06.2016 11:00 / 19.06.2016 13:09

Догружаю методы класса из файлов (модулей), делая это по "ходу пьесы" из контекста объекта класса.

Почему-то решилось, что в сочетании @OPTIONS partial + dynamic = для двух разных объектов (экземпляров класса) - методы будут подгружаться в изолированном контексте, а это не так - они подгружается/перекрываются статически на весь класс.

Чуть не отстрелил себе ногу, беззаботно взяв на вооружение такое сочетание, но вовремя обнаружил что "подмешаные"(?) - загруженные новые методы "внутри одного объекта", тут же появляются и в другом экземпляре, в том числе перетирая поверх одноименные.

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

В моей задаче меня в принципе бы устроило и статическое применение класса, т.к. экземпляры я не использую одновременно, а в лучшем случае последовательно, но тогда мне нужна деструкция методов до первоначального состояния класса (его первого упоминания/объявления до всяких ^use[]).

Вопрос:
Есть много разных мыслей, требующих множества проверок практикой.
Может кто-то подскажет прямой рабочий подход? Очевидно, что ^process в его штатном применении мне тоже не может, он делает ровно то же.


P.S.: В общем случае, я так понимаю задача где-то на пересечении ключевых слов "множественное наследование" и "миксины" - но пока я в этом не разобрался.