URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4252
[ Назад ]

Исходное сообщение
"Как грамотно создать плагин?"

Отправлено Andrey , 09-Май-05 16:17 
Интересует, собственно, концепция и пример реализации плагинов.
Чуть точнее обресую ситуацию: решил написать небольшую программку для работы с текстом. Идея в том, что текст она должна обрабатывать, в зависимости от настроек. Обработчики текста хочу сделать в виде плагинов(в основном, для расширяемости), плагин должен принимать текст и некоторые параметры и возвращать результат работы приложению. В общих чертах идея сейчас такова: есть демон-приложение, который посылает запрос демону-плагину и ждёт результат, получает результат и выдаёт его пользователю.

Собственно, вопрос заключается в том, как создать механизм, который позволял бы добавлять плагины не перекомпилируя основное приложение?


Содержание

Сообщения в этом обсуждении
"Как грамотно создать плагин?"
Отправлено rWizard , 10-Май-05 01:43 
Можно реализовать функции по обработки текста в библотеке.
И подгружать необходимые/прописанные в конфигурации библиотеки.

"Как грамотно создать плагин?"
Отправлено Andrey , 10-Май-05 10:08 
>Можно реализовать функции по обработки текста в библотеке.
>И подгружать необходимые/прописанные в конфигурации библиотеки.

Ну да, идея была такая, если я правильно понимаю то, что Вы мне говорите. Непонятна была реализация. Тут люди подкинули ссылочку

http://gazette.linux.ru.net/lg84/bradley.html

Стало гораздо светлее в голове. Буду признателен за ссылки на документацию.
Спасибо.


"Как грамотно создать плагин?"
Отправлено rWizard , 10-Май-05 12:22 
К сожалению я не силен в компилируемых языках.
На perl я реализовал сложную систему плагинов как объекты.
и каждому плагину при поднятии передавалась ссылка на хеш, содежшай ссылки на другие плагины. Это довало возможность из любого плагина вызвать функции других плагинов.



"Как грамотно создать плагин?"
Отправлено VLazarenko , 12-Май-05 13:34 
>>Можно реализовать функции по обработки текста в библотеке.
>>И подгружать необходимые/прописанные в конфигурации библиотеки.
>
>Ну да, идея была такая, если я правильно понимаю то, что Вы
>мне говорите. Непонятна была реализация. Тут люди подкинули ссылочку
>
>http://gazette.linux.ru.net/lg84/bradley.html
>
>Стало гораздо светлее в голове. Буду признателен за ссылки на документацию.
>Спасибо.

Документация.. хм.. не знаю. А создать систему плугинов можно по разному.
Plugin per DLL, Multiplugin DLL etc...
А на каком языке и как ты будешь строить архитектуру - твои проблемы.
На Си, например .. есть
dlopn, dlsyn, dlclose. LoadLibrary .. etc.