0

こんにちは、いくつかの重い Javascript 機能を備えたアプリを作成しています。その設計方法について質問があります。

プラグイン B と通信する Jquery プラグイン A があります。プラグイン B には、プラグイン A でイベントが発生したときに呼び出すことができる関数があります。これは基本的なセットアップです。

ただし、ユーザーが希望する場合は、プラグイン B の代わりにプラグイン C を使用して、プラグイン B のデフォルトの動作をオーバーライドできます。ただし、デフォルトでプラグイン B を呼び出すプラグイン A の関数名などを変更することはできません。

これを簡単に達成できる方法はありますか?そして、どのアーキテクチャに従うべきか。プラグイン B の初期化時にイベントが発生するようにしたいのですが、プラグイン C の関数でオーバーライドできる可能性があります。

どんな助けでも大歓迎です。

編集

次の例を検討してください。

イベント申し込みました

  A.subscribe(Event, function(topic, data) {
            $.defaultfunction(Event, data, Value);
          });

デフォルトでは、プラグイン B にある関数を呼び出します。プラグイン B には defaultfunction があります。

ここで、プラグイン B の defaultfunction にあるデフォルトの動作を、別のプラグイン C の別の関数でオーバーライドする方法が必要です。

私の質問が明確であることを願っています。

4

1 に答える 1

3

プラグイン A がプラグイン B を呼び出す代わりに、プラグイン A がプラグイン B と C の両方がリッスンするイベントをトリガーするようにします。これにより、プラグイン A は、使用されている B または C のいずれかにイベントをブロードキャストできます。

于 2012-12-05T20:35:26.407 に答える