|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 03 Mar 2004 20:35:51 To : Timur Vafin Subject : Re: автокеширование объектов -------------------------------------------------------------------------------- Timur Vafin -> All @ Tue, 2 Mar 2004 13:04:11 +0000 (UTC): TV> Сразу прошу прощения за некорректный сабж. TV> Есть класс, Class в нем определены методы test_sub. TV> Хочется вызвать некотрую функцию перед выполнением этих методов. TV> Т.е. когда говрят Class->test_sub перел тем как выполнить test_sub TV> из класса Class необходимо вызвать, на пример, cache_sub. TV> Идея заключается в том, чтобы при помощие некоего инструмента TV> указывать какие обекты должны класться в кеш ( Cache::Cache TV> ). Реализовать это предлагается по выше указаной методике. TV> Решение в голову приходит пока одно. TV> Завести список, в котором будут лежать имена методов, которые необходимо TV> кешировать. TV> Далее метод, который должен браться из кеша вызывать как TV> Class->cached_test_sub вместо Class->test_sub. TV> cached_test_sub ловить в AUTOLOAD, проверять наличие префикса TV> cached в имени метода, проверять наличие имени метода в указанном TV> списке и проверить TV> $self->can() для этого метода. TV> Ишется более правильное решение. Судя по описанию задачи, самым правильным в смысле минимизации кодописания и удобства чтения будет sub test_sub { cache_sub(@_); ... } -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/25606166c1d7a.html, оценка из 5, голосов 10
|