この問題のために、javascript でインターフェイスと DTO をシミュレートしようとしています。オブジェクト dto、オブジェクト呼び出し元、および同じインターフェイス IWorker の異なる実装。
呼び出し元は、インスタンス化のために dto を受け取り、ユーザー入力をフィードしてから、Iworker の正しい実装を呼び出します (メソッドの実行)。
私のコードでは、dto のインスタンスを 1 つと caller のインスタンスを 1 つだけ持つようにしたいので、ユーザーが別の選択をするたびに caller.CallWorker() を呼び出すだけです。
アイデアが良いかどうか教えてください。javascriptでの実装は大歓迎です
どうもありがとう
編集: 助けてくれてありがとう、Bergi ソリューションを使用しますが、もう 1 つ必要な ので、実装は次のようになります。
var caller = {
callWorker: function(obj) {
if(obj.id == 1) Worker1.execute();
if(obj.id == 2) Worker2.execute();
if(obj.id == 2) Worker3.execute();
}
};
しかし、これは、html ページにすべてのワーカー定義 (実装ごとに 1 つの js スクリプト) を追加する必要があることを意味します。スクリプトを動的に追加したいだけです。実際、アクティブなワーカーは多くのビジネス ロジックに依存しているため、それらを動的に含めてページにアクティブなワーカーのみを表示します。どうすればいいですか?caller.callworker のすべての条件を実行しますか? または、よりエレガントなアプローチがあります。