Мне нужны ресурсы, которые рассказывают о том, как разрабатывать ваше программное обеспечение для расширения, т. Е. Чтобы другие люди могли писать надстройки/плагины, добавляющие к нему функциональные возможности.Как создать расширяемое программное обеспечение (архитектура плагина)?
Что вы рекомендуете? Какие-нибудь книги, которые обсуждают тему?
Я бы предпочел что-то короткое и точно; немного теории и кучей конкретных примеров.
Я не настроен на определенный язык, я хочу понять основную идею, чтобы я мог реализовать ее на любом языке.
И по той же причине я предпочитаю не делать этого, используя фреймворк, который кто-то еще построил (если рамка не очень высокоуровневая, т. Е. Не скрывает )), на данный момент я только хочу просвещать себя по этому вопросу и экспериментировать с различными способами его реализации. Кроме того, структура обычно предполагает знание пользователем предмета.
UPDATE
Я не спрашиваю об ООП или позволяя мои классы по наследству. Я говорю о разработке приложения, которое будет развернуто в системе, чтобы его можно было расширить сторонними надстройками ПОСЛЕ развертывания.
Например, Notepad ++ имеет подключаемую архитектуру, в которой вы можете поместить DLL-файл в папку плагинов и добавить функциональные возможности приложения, которого там не было, например, для выбора цвета или вставки фрагментов, или многое другое (широкий спектр функций).
Я думаю, вы обнаружите, что большинство подключаемых модулей среды обеспечивают базовые классы для использования в письменной форме подключаемого модуля. Ваш настраиваемый сторонний плагин будет основываться на базовом классе и расширять его функциональность «plug-in standard». – Kieveli 2008-11-27 20:19:14
Вы обнаружите, что расширяемая природа программного обеспечения, такого как Firefox и Notepad ++, исходит из его корней дизайна OO. Тот же принцип, который расширяет ваши классы, поможет сделать ваше общее программное обеспечение расширяемым. – orokusaki 2010-01-25 21:14:25