|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/657792549119.html, оценка из 5, голосов 10
|