JavaScript(ES6)でアプリを構築しています。私はC#に精通しているので、もし私のやりとりが少しずれていたら、私はお詫びします。JavaScript/ES6でのインターフェイス/プラグインの実装
とにかく、私のアプリでは、他のサービスをサポートするサービスを作りたいと思っています。基本的には、私のサービスが作成されるときに、自分の「インターフェース」を実装するいくつかのサービスを動的にロードしたいのです。その "インターフェース"は "sendMessage"という名前の単一の関数を持っています。次に、私がMyService.sendMessage( 'someMessage')を呼び出すと、そのメッセージは自動的に登録されたサービスを介して送信されます。私はこのようなことを達成しようとしています:
const MyService {
initialize: function() {
this.services = [];
// Somehow load services here
// This function will send the message to the plugins
this.sendMessage = function(msg) {
for (let service in services) {
service.sendMessage(msg);
}
};
}
};
とにかくサービスが入力されていないため、上記は機能しません。 JavaScriptにはC#のようなキーワードinterface
がないことがわかります。そのため、私はサービスを登録する方法が必要であることを知っています。私の質問しかし、私はこれを行う方法がわかりません。
サードパーティの開発者がサービスにプラグインできるようにサービスを作成するにはどうすればよいですか?
どのような構文が 'const MyService {...'ですか? –
デベロッパーはあなたのクラスで何を見たり/できたらよいですか? –
そして、あなたはどのようなインターフェースが必要ですか?あなたは単にプロパティをチェックすることができ、もし存在しなければエラーを投げることができます –