Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Chernomyrdin                  2:5020/400     27 Oct 2005  14:58:06
 To : Andrew Alakozow
 Subject : Re: Q: Plugins
 -------------------------------------------------------------------------------- 
 
 Andrew Alakozow wrote:
 
 > AC> - --[ main.pl ]-- -
 > AC> package main;
 > 
 > Это не нужно, 'main' - пакет по умолчинию.
 
 Просто обычно когда начинаешь разбиратся со всем этим, используешь один файл,
 там пакет main прописываю что-бы не было недразумений.
 
 > Я бы вместо Application и Plugin сделал один MyParser (еще лучше, чтобы из 
 > названия было понятно, какие данные разбираются) и список "плагинов" вынес в 
 > конструктор.
 
 Хотелось-бы иметь plugin-ы с разными свойствами, так как задача не
 ограничивается только просмотром stdin.
 
 [...]
 
 > AC> sub name { __PACKAGE__ }
 > 
 > sub name { ref $_[0]  } # можно наследовать
 
 Спасибо, наверное ref( $_[0] ) || $_[0], будет несколько правильнее, так как
 будет нормально работать
 $object->name и Package->name, хотя особого смысла в последнем вызове не вижу
 ;-)
 
 > 
 
 [...]
 Спасибо за пример.
 
 > AC> Все в принципе работает, осталось пара _но_ которая раздражает:
 > AC> Хотелось-бы что-бы избавится от метода parent внутри plugin-ов,
 > AC> как-нибудь это можно сделать ?
 > 
 > 
 > Пользоваться встроенными сресдтвами поддержки ООП.
 
 Тут возникают другие грабли - что-бы не открывать соединение к БД из каждого
 Plugin-а, и вообще хотелось-бы какие-то данные 
 разделять между plugin-ами. Касаемо методов общих для всех plugin-ов они
 наследуются из Plugin::Base, и мне это нравится, но как все 
 методы и данные существующие в главном приложении экспортировать в plugin.
 
 Я ни как не могу представить иерархию классов для этой задачи, можно конечно
 сделать так что-бы в main.pl я писал use MyPlugin1; use 
 MyPlugin2; а в методе import в этих plugin-ах прописывать методы обработки тех
 или иных патернов, но мне это не кажется правильным.
 
 > Андрей.
 
 -- 
 Andrey Chernomyrdin
 
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Q: Plugins   Andrey Chernomyrdin   27 Oct 2005 14:58:06 
Архивное /ru.perl/657792549119.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional