| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Module::Pluggable? |
| Автор: SkoobyDoo 18.2.2009, 10:21 |
| Доброго времени суток! Меня интересует такой вот вопрос. Как можно спроектировать web-скрипт или будь это Gtk2-программа на Perl'е, чтобы в дальнейшем можно было писать плагины и расширения, которые бы например изменяли интерфейс gtk2-программы или добавляли какой-нибудь функционал, не затрагивая основной "движок"? Помогает ли в этом Module::Pluggable? как он работает? Если по этому поводу, есть какая-нибудь информация в сети, буду признателен. Спасибо. |
| Автор: sir_nuf_nuf 18.2.2009, 13:33 |
| Доброго! 1) можно. посмотри например на miranda - уж куда изменяемая! И это на C++, а perl более гибкий. 2) Module::Pluggable - удобная штука, но это всего-лишь загрузчик модулей (у него текст то - 40 строк).. Всю работу он за вас не сделает. Что вам нужно - так это разобраться как это сделано в других программах (а еще было бы круто с другими этим поделиться) и реализовать это на perl. Как я понимаю (на примере того же apache с "плагинами" =)) основная программа предоставляет API - т.е. набор стандартных методов, которые плагин используют. Основная программа - загружает плагины (с помощью Module::Pluggable), а потом вызывает у них фиксированный метод, наприрмер MyApp::Plugin::A->init(), а далее плагины делают все что им нужно, используюя API программы |
| Автор: KSURi 21.2.2009, 03:37 |
| Посмотрите на Padre. Это редактор перла написанный на нем же. Использует Wx, имеет плагинный интерфейс. |
| Автор: gcc 21.2.2009, 04:09 |
| может быть каталист подойдет? там можно использовать его где угодно! то есть чтобы библиотека GTK была как модель... |
| Автор: sir_nuf_nuf 21.2.2009, 13:14 |
| gcc, не выдумывайте - каталист для веб. |
| Автор: gcc 21.2.2009, 13:57 | ||
там написано что он может использоватся где угодно не только в web...
|
| Автор: KSURi 21.2.2009, 17:52 |
| gcc, и где там написано что, каталист можно использовать в гуи? Вы ведь сами вроде используете его, как вы себе это представляете? А в цитате, которую вы привели, написано про широкое распространение паттерна MVC. |
| Автор: gcc 22.2.2009, 06:56 |
| я большие программы на GTK не писал, только не много маленькие примеры... в цитате было про Catalyst (я его не пиарю, просто можно там писать) Catalyst это парадигма на ООП только большая и называется по другому MVC еще для шаблонное программирование, если у вас код большой боле 10000 вы будите писать объектами... тоже самое модель и контроллер, то чт овы сказали тут http://forum.vingrad.ru/forum/topic-244000/kw-framework-perl/0.html#st_15_view_0 есстественно, наверное, Catalyst никто не использует в Gui, там надо сделать модель для GTK (подумать как сделать) и плагины еще какие-то, но если ВЫ будите писать GUI framework, то он будет похож на Catalyst, ничего не измениться всё будет передевать через ссылку... ну и некоторый вещи добавить в сам Catalyst... |
| Автор: gcc 13.4.2009, 04:39 | ||
| вот нашел Catalyst::Engine::Wx http://search.cpan.org/~eriam/Catalyst-Engine-Wx-0.02_06/lib/Catalyst/Engine/Wx.pm
|
| Автор: sir_nuf_nuf 13.4.2009, 20:49 |
Слов нет.. пц.. это кого-то сильно переклинило. GUI MVC довольно сильно отличается от WEB MVC |