1

ライブラリ デザイナーとして、外部プラグインを介して拡張できるようにライブラリを作成するための一般的なパターン/トリックは何ですか?

プラグインがやりたいことは次のとおりです。

  • ライブラリの基本メソッドにロギング サポートを追加します。たとえば、ライブラリのコア (プライベート) メソッドの 1 つをデバッグ目的でコンソールに出力して、https://github.com/TalAter/annyang/blob/master/annyang.jsからすべての console.log 呼び出しを削除できるようにします。
  • ライブラリ イベントに視覚的な合図と効果を追加します。たとえば、SpeechRecognition ライブラリがリッスンを開始したときにスピーカー アイコンを表示します。
  • 私の最初の本能は、それらをイベントとして公開し、プラグインからコールバックをアタッチできるようにすることです (例: onCommandLoaded、onCommandMatched、onSpeechRecognized など)。しかし、これは、より多くの機能が要求されるにつれて簡単に成長する可能性があり、プラグインが私が予期していなかった機能を拡張することを許可しません (それが悪いことなのかどうかはまだわかりません)。

    何か案は?

    4

    0 に答える 0