[Moscow.pm] Как правиьно сделать хранитель транзакции ?

Vladimir V. Perepelitsa inthrax на gmail.com
Ср Дек 3 08:40:53 PST 2008


2008/12/3 Ivan B. Serezhkin <ivan на serezhkin.com>:
> Привет.
> Vladimir V. Perepelitsa wrote:
>>
>> Т.к. с каталистом я не работал, попробую расспросить что тебе нужно.
>> у тебя есть объект, ссылка на который хранится перманентно.
>> тебе нужно при обращении к этому объекту отметить начало и конец
>> транзакции.
>> вместо объекта ты передаешь объект-контейнер, у которого refcount = 0
>> и отслеживаешь DESTROY
>> собственно это у тебя и реализовано.
>>
>
>   Абсолютно так, где то я создаю динамическую переменную, что то с ней
> делаю, а потом отдаюв часть кода, который я не хочу контролировать.
> И я хочу почистить за собой, когда эта переменная сдохнет.
> я могу и две передать, одна насстоящая, а вторая - шахтёрская канарейка,
> которая должна сдохнуть и просигнализировать.
> но вот ... совместил. Кстати, раскажи знаток объектных моделей, как миксины
> реализованы.

попробуй tie (TIEHASH)

> То что у меня получилось - это копия переменной, сподмешанным DESTROY.
> И вообще естьли более человечный, нежели AUTOLOAD способ прикинутся
> переменной другого класса ?

отнаследоваться? :)
сделать класс, отнаследоваться, переопределить конструктор, вернуть
блессеный, tie'ный хэш.
методы будут вызываться через наследование, доступ к хэшу через tie.

>>
>> еще можно пытаться отслеживать refcount, но скорее всего не получится
>> сделать это событийно.
>>
>
> Вааще можно, но этобудет уженемножко другой перл =)
> Хотя ...
> Показать как  ? =)
> Только мне не подходит - мне нужно как можно меньше XS.

как нибудь покажи

-- 
Best wishes,
Vladimir V. Perepelitsa aka Mons <inthrax на gmail.com>


Подробная информация о списке рассылки Moscow-pm