Мені потрібні ресурси, які розповідатимуть про те, як розробити програмне забезпечення таким чином, щоб воно розширювалось, тобто щоб інші люди могли писати додаткові компоненти / плагіни, що додають йому функціональність.
Що ви порадите? Будь-які книги там обговорюють цю тему?
Я віддав би перевагу чомусь короткому і суттєвому; трохи теорії та купа конкретних прикладів.
Я не націлений на конкретну мову, я хочу мати можливість зрозуміти основну ідею, щоб я міг реалізувати її будь-якою мовою.
І з тієї ж причини я вважаю за краще не робити це, використовуючи фреймворк, який створив хтось інший (за винятком випадків, коли фреймворк не дуже високого рівня, тобто не приховує занадто багато), на даний момент я хочу навчитися лише предмет і експериментуйте з різними способами його реалізації. Крім того, фреймворк зазвичай передбачає знання користувача про тему.
ОНОВЛЕННЯ
Я не питаю про ООП або дозволяю передавати мої класи у спадок. Я говорю про розробку програми, яка буде розгорнута в системі, так що її можна розширити сторонніми доповненнями ПІСЛЯ розгортання.
Наприклад, Notepad ++ має архітектуру плагіна, де ви можете розмістити файл .dll у папці плагінів, і він додає функціональність додатку, якого там не було, наприклад, вибір кольору, вставку фрагмента чи багато інших речей. (широкий спектр функціональних можливостей).