ソフトウェアを拡張可能に設計する方法、つまり他の人が機能を追加するアドオン/プラグインを作成できるようにする方法について説明するリソースが必要です。
おすすめは何ですか?このテーマについて論じている本はありますか?
短くて要領を得たものを好みます。少しの理論とたくさんの具体例。
私は特定の言語をターゲットにしているわけではありません。どの言語でも実装できるように、核となるアイデアを理解したいと思っています。
同じ理由で、私は他の誰かが構築したフレームワークを使用してそれを行うことを好みません (フレームワークが非常に高レベルではない場合、つまり、あまり隠していない場合を除きます)。現時点では、それを実装するためのさまざまな方法を検討し、実験してください。さらに、フレームワークは通常、主題に関するユーザーの知識を前提としています。
アップデート
OOP について質問したり、クラスの継承を許可したりしているわけではありません。システムにデプロイされるアプリケーションを設計して、デプロイ後にサードパーティのアドオンによって拡張できるようにすることについて話しているのです。
たとえば、Notepad++ には、プラグイン フォルダーに .dll ファイルを配置できるプラグイン アーキテクチャがあり、カラー ピッキングやスニペットの挿入など、そこにはなかった機能がアプリケーションに追加されます。 (幅広い機能)。