Мне нужны ресурсы, которые рассказывают о том, как разрабатывать ваше программное обеспечение для расширения, т.е. чтобы другие люди могли писать надстройки/плагины, добавляющие к нему функциональные возможности.
Что вы рекомендуете? Какие-нибудь книги, которые обсуждают тему? Я бы предпочел что-то короткое и точное; немного теории и кучей конкретных примеров.
Я не настроен на определенный язык, я хочу понять основную идею, чтобы я мог реализовать ее на любом языке.
И по той же причине я предпочитаю не делать этого, используя фреймворк, который кто-то создал (если структура не очень высокоуровневая, т.е. не скрывает слишком много), на данный момент я хочу только обучать я сам по этому вопросу и экспериментирую с различными способами его реализации. Кроме того, структура обычно предполагает знание пользователем предмета.
UPDATE
Я не спрашиваю о ООП или не позволяю моим классам наследоваться. Я говорю о разработке приложения, которое будет развернуто в системе, чтобы оно могло быть расширено сторонними надстройками ПОСЛЕ развертывания.
Например, Notepad ++ имеет подключаемую архитектуру, в которой вы можете поместить DLL файл в папку плагинов и добавляет функциональность для приложения, которого там не было, например, для выбора цвета или вставки фрагмента или многое другое (широкий спектр функций).