Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Module::Pluggable? 
:(
    Опции темы
SkoobyDoo
Дата 18.2.2009, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 4.10.2007

Репутация: нет
Всего: нет



Доброго времени суток! 
Меня интересует такой вот вопрос. Как можно спроектировать web-скрипт или будь это Gtk2-программа на Perl'е, чтобы в дальнейшем можно было писать плагины и расширения, которые бы например изменяли интерфейс gtk2-программы или добавляли какой-нибудь функционал, не затрагивая основной "движок"? 
Помогает ли в этом Module::Pluggable? как он работает? Если по этому поводу, есть какая-нибудь информация в сети, буду признателен. 
Спасибо.
PM MAIL   Вверх
sir_nuf_nuf
Дата 18.2.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



Доброго!

1) можно. посмотри например на miranda - уж куда изменяемая! И это на C++, а perl более гибкий.
2) Module::Pluggable - удобная штука, но это всего-лишь загрузчик модулей (у него текст то - 40 строк)..
Всю работу он за вас не сделает.

Что вам нужно - так это разобраться как это сделано в других программах (а еще было бы круто с другими этим поделиться)
и реализовать это на perl.

Как я понимаю (на примере того же apache с "плагинами" =)) основная программа предоставляет API - т.е. набор стандартных методов, которые плагин используют.
Основная программа - загружает плагины (с помощью Module::Pluggable), а потом вызывает у них фиксированный метод,
наприрмер MyApp::Plugin::A->init(),  а далее плагины делают все что им нужно, используюя API программы


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
KSURi
Дата 21.2.2009, 03:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Посмотрите на Padre. Это редактор перла написанный на нем же. Использует Wx, имеет плагинный интерфейс.


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
gcc
Дата 21.2.2009, 04:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



может быть каталист подойдет?

там можно использовать его где угодно!

то есть чтобы библиотека GTK была как модель...
PM WWW ICQ Skype GTalk Jabber   Вверх
sir_nuf_nuf
Дата 21.2.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



gcc, не выдумывайте - каталист для веб.


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
gcc
Дата 21.2.2009, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



там написано что он может использоватся где угодно не только в web...

Цитата

IIRC, MFC тоже сделан по этой моделе. Еще Java Swing.
GUI framework-и часто по такой моделе делаются.
В принципе, MVC — это pattern, по-этому можно использовать где угодно.


Это сообщение отредактировал(а) gcc - 21.2.2009, 14:00
PM WWW ICQ Skype GTalk Jabber   Вверх
KSURi
Дата 21.2.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



gcc, и где там написано что, каталист можно использовать в гуи? Вы ведь сами вроде используете его, как вы себе это представляете?
А в цитате, которую вы привели, написано про широкое распространение паттерна MVC.


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
gcc
Дата 22.2.2009, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



я большие программы на GTK не писал, только не много маленькие примеры...

в цитате было про Catalyst (я его не пиарю, просто можно там писать)

Catalyst это парадигма на ООП только большая и называется по другому MVC еще для шаблонное программирование, если у вас код большой боле 10000 вы будите писать объектами... тоже самое модель и контроллер, то чт овы сказали тут http://forum.vingrad.ru/forum/topic-244000...ml#st_15_view_0

есстественно, наверное, Catalyst никто не использует в Gui, там надо сделать модель для GTK (подумать как сделать) и плагины еще какие-то, но если ВЫ будите писать GUI framework, то он будет похож на Catalyst,  ничего не измениться всё будет передевать через ссылку... ну и некоторый вещи добавить в сам Catalyst...

Это сообщение отредактировал(а) gcc - 22.2.2009, 08:06
PM WWW ICQ Skype GTalk Jabber   Вверх
gcc
Дата 13.4.2009, 04:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



вот нашел  Catalyst::Engine::Wx

http://search.cpan.org/~eriam/Catalyst-Eng...st/Engine/Wx.pm


Цитата

This is the Catalyst engine specialized for building non-blocking and multi-platforms desktop applications with the Catalyst framework. It allows to tie Wx events to Catalyst controllers asynchronously.

It will also allow you to replace html views with Wx views from which you can access the stash and deals with controllers just like in any other Catalyst application running a web engine.

PM WWW ICQ Skype GTalk Jabber   Вверх
sir_nuf_nuf
Дата 13.4.2009, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



Цитата(gcc @  13.4.2009,  04:39 Найти цитируемый пост)
вот нашел  Catalyst::Engine::Wx

Слов нет.. пц.. это кого-то сильно переклинило.


GUI MVC довольно сильно отличается от WEB MVC


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0905 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.