Jump to content

реализация плагинов


Recommended Posts

Есть идея написать программу, функционал которой возможно расширять посредством плагинов (по аналогии как это сделано в Firefox или Total Commander)

Программу пишу на C#

Плагины поидее должны писаться также на .net платформе

Какие есть способы реализовать данную идею?

Link to comment
Share on other sites

Лорд Дмитрий: я честно говоря не в курсе особенностей .NET и C#, но что DLL уже не подходят? Или нужна кроссплатформенность? Хотя КП это бред, если попытаться учесть аппаратную разницу, а вот для разных OS... можно, хотя сложновато.

PS Подобное я делал успешно используя язык С (не С++), DLL и INI-файлы. Главное грамотно написать само ядро, точнее что бы ПО могла расширяться считывая данные из ini и используя код из dll... ИМХО большего и не надо.

Link to comment
Share on other sites

Indomito: dll вполне подходит

я так понимаю:

ядро должно представлять плагину некий интерфейс, который плагин наследует

затем ядро загружает библиотеку с плагином

и загружает в память экзэмпляр объекта плагина

на словах вроде все просто, а вот реализовать в коде сложнее

можно примеры какие нибудь и если есть какие нибудь справочники или учебники по этому вопросу?

Link to comment
Share on other sites

Лорд Дмитрий: справочников не знаю, примеры не помогут ибо они как всегда узконаправленные. Если задача чисто математическа, ну например обработка сигналов, то достаточно при запуске ПО считать файлы или же динамически проверять конкретную папку. Приблизительный метод использовался в языке ADA, те на ходу можно было вносить нужные поправки в вычислительный процесс, главное корректность библиотек и всё.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...