私は自分自身と同等の質問をしました、そして私はこれにつまずきました (jQueryドキュメント):
ステートレスプラグインとステートフルプラグイン
ほとんどのjQueryプラグインはステートレスです。彼らはいくつかの行動を実行し、彼らの仕事は終わりました。たとえば、を使用して要素のテキストを設定した場合、
.text( "hello" )
設定フェーズはなく、結果は常に同じです。これらのタイプのプラグインの場合、jQueryのプロトタイプを拡張するだけで意味があります。
ただし、一部のプラグインはステートフルです。それらは完全なライフサイクルを持ち、状態を維持し、変化に反応します。これらのプラグインには、初期化と状態管理(場合によっては破棄)専用の多くのコードが必要です。これにより、ステートフルプラグインを構築するための多くの定型文が作成されます。さらに悪いことに、各プラグインの作成者はライフサイクルと状態を異なる方法で管理する可能性があり、その結果、プラグインごとに異なるAPIスタイルが発生します。ウィジェットファクトリは、ボイラープレートを削除し、プラグイン間で一貫したAPIを作成することで、両方の問題を解決することを目的としています。
一貫性のあるAPI
ウィジェットファクトリは、ウィジェットの作成と破棄、オプションの取得と設定、メソッドの呼び出し、およびウィジェットによってトリガーされるイベントのリッスンの方法を定義します。ウィジェットファクトリを使用してステートフルプラグインを構築することにより、定義された標準に自動的に準拠し、新しいユーザーがプラグインの使用を開始しやすくなります。インターフェイスの定義に加えて、ウィジェットファクトリはこの機能の多くを実装します。(...)
初期化のオプションの設定
オプションを受け入れるプラグインを作成するときは常に、できるだけ多くのオプションのデフォルトを定義してから、ユーザー提供のオプションを初期化時にデフォルトとマージする必要があります。(...)ウィジェットファクトリはこの機能を提供し、さらに少し進んでいます。
これが私が最初に答えを探している場所なので、私は機能の参照のためにここに投稿しています!:)