問題タブ [observer-pattern]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - すべてのチェックボックスをオンまたはオフにすると、IE8 で機能しない
この JavaScript コードは IE8 では機能しませんが、Firefox と Google Chrome では機能します。
誰でも私を助けることができますか?
ruby-on-rails - Railsキャッシュスイーパーとモデルコールバックの起動
私は次のクラスを持っています:
すべてが期待どおりに機能します。ただし、after_update
スイーパーdo_something_cool
内では、モデル内のメソッドが正しく実行される前に終了している必要があります。問題はafter_update
、スイーパー内がコールバックの前に(またはおそらく同時に)呼び出され、do_something_cool
問題を引き起こしていることです。
after_update
モデルのコールバック後にスイーパーを強制的に起動する方法を知っている人はいますか?これを達成するためのより良い方法はありますか?
更新/修正:以下の回答とは異なり、オブザーバーのコールバックは実際には正しい順序で実行されています(モデルのコールバックの後)。これを発見したとき、私は何か他のものが間違っているに違いないことに気づきました。
このdo_something_cool
メソッドは、徹夜のスロットをすべて破棄し、それらを正しい数の正しい時間のスロットに置き換えます。オブザーバーは、スロットの数に依存して、警戒がどのくらい続くべきかを判断します。つまり、根本的な問題は、vigilのすべてのスロットが破壊され、そのデータがキャッシュされていたためvigil.slots
、オブザーバーから呼び出したときに、キャッシュされた(破壊されたスロット)データを使用していたことでした。解決策:最後にvigil.slots(true)を呼び出すだけでdo_something_cool
、新しく作成されたスロットをリロード/再キャッシュできます。
java - Observer の設計パターンの良い資料はどこにありますか?
オブザーバーパターンを研究するための良い資料はどこにありますか? コードの例と、モデル化された状況の写真が必要です
java - 実行時にリスナーを追加しますか? - Java MVC
私の MVC パターンのモデルは、実行時にコンポーネントを生成し、 update() メソッドを介して画面に表示されるように View に渡します (モデルはオブザーバブルであり、ビューはオブザーバーです)。しかし、これらのコンポーネントにリスナーを追加する必要もあり、コントローラーにはリスナー メソッドがあり (MVC パターンはこのようなものであると彼らは言っているため)、この更新プロセスには関与していません。したがって、実行時にリスナーを追加することはできませんが、起動時にコントローラーのコンストラクターにのみ追加できます。
コントローラーをオブザーバーにしてから、データをビューに渡し、リスナーを追加するというアイデアがあります。これでいいと思いますか?
java - バックグラウンドサービスからAndroidアクティビティの情報を更新するにはどうすればよいですか?
情報のActivityListを持つ単純なAndroidアプリケーションを作成しようとしています。アプリケーションの起動時に、データを常に計算する(変更される)サービスを開始する予定であり、ActivityListを同期させたいと考えています。アプリの存続期間中にサービスが計算しているデータ。
サービスをリッスンするようにアクティビティを設定するにはどうすればよいですか?これはこの問題に取り組むための最良の方法ですか?
たとえば、株価のリストを想像すると、データは定期的に変更され、データを常に計算/フェッチしている(私の場合は)サービスと同期する必要があります。
前もって感謝します
database - あるデータベースから他のアプリのデータベースにデータを同期する効果的な方法に関する推奨事項はありますか?
これが私の問題です。私は Web アプリを構築し、そのアプリのドメインを説明するデータベースにデータを保持していました。その後、同じ組織用に別の Web アプリを作成し、別のデータベースを使用してそのアプリのドメインを記述し、データを保存しました...そして当然、さらにいくつかのプロジェクトが登場し、アプリごとにデータを単一のデータベースに分離しました. 開発に関しては、アプリのデータベースでデータ構造とデータへの変更を維持できるので、問題ないと思います。
これらのアプリが同じ組織に属していることを考えると、部門名、役職、ショップ名など、アプリ間で大量のデータが複製される傾向があります。これらのテーブルのほとんどは同じデータを保持していますが、各データベースで完全に同じというわけではありません。 、すべてのアプリで常に使用されるわけではありません。ただし、このデータへの変更は、すべてのアプリで (場合によっては異なる方法で) 変更する必要があり、管理の「面倒」が大きくなります。
そのため、データ間の同期を取得する方法を考えてきました。管理を簡単にしたい - 1 つのアプリ (または中央アプリ) で更新し、各アプリで必要に応じてすべてのデータベースを更新します。また、アプリ間でデータを共有するためのより良い方法 (新しいアプリで異なるアプリからのデータをマッシュアップするなど) も必要です特定の分析を可能にする)。私が参照しているデータのほとんどは、特定のドメインを説明するのではなく、組織を説明するコア ドメインの概念というよりも、制約として使用されます。
これを実現するためのいくつかの方法について意見を求めています。
私が最初に思いついたのは、前述の部門名のテーブルのような共通のデータ構造を取得し、それらをコア データベースに貼り付けることでした。データへの更新は、専用の Web アプリを介してこのデータベースで行われ、これらの変更にある種のオブザーバーまたはパブリッシャー / サブスクライバー パターンを適用します。変更が発生し、アプリが新しいデータを取得して必要に応じて使用できるようにします。GUID は、アプリ全体で同じデータを識別するための参照としてのユーザーである可能性があります。また、特定のアプリのデータベースに存在する必要はないが、役に立つ可能性のある読み取りおよび検索操作用の Web サービスを構築することもできます。
2 番目のアイデアは、各アプリが独自のデータを管理し、アプリが相互に観察できるようにすることです。1 つの変更は、変更が発生したことを同じデータ構造を共有する他のユーザーに通知できます。いくつかの GUID を引き続き使用し、任意のアプリでサービスを構築することさえできました。これもデータの重複という点では過度ではないと思いますが、各アプリが最終的に他のアプリに結合されるため、管理が難しくなる可能性があり、どのアプリがどの情報を制御するかについて責任を分散する必要があると思います.
このジャンルのデータ配布と同期が機能し、推奨されることさえあることに、私は本当に興味があります。意見やその他のアイデアは大歓迎です!
ruby-on-rails - after_save オブザーバーへの rails 引数
新しいコメント/投稿が作成されたときに電子メールで通知されるように、ユーザーがフォームにログインのカンマ区切りのリストを入力するようにします。このリストをデータベースに保存したくないので、フォーム ヘルパー text_field の代わりに form_tag_helper 'text_area_tag' を使用します。コメント/投稿が作成されたときにメールを送信する「after_save」オブザーバーがあります。私が知る限り、after_save イベントはモデル オブジェクトのみを引数として取ります。そのため、この非モデル ベースのログイン リストをオブザーバーに渡して、それらを cc リストで使用する Mailer メソッドに渡すにはどうすればよいでしょうか。
ありがとう
java - オブザーバーでデータ出力を処理する方法は?
私はとを持っていObservable
ますObserver
。オブザーバブルはバックグラウンドスレッドにいくつかのものをダウンロードしnotifyObservers
、オブザーバーにステータスを読み取らせるように呼び出します。
オブザーバーのある時点でpublic void update
、GUIを更新しようとします
しかし、Observable(!!!)がこれをスローするため、observableスレッドがこのメソッドを呼び出すようです。
これを防ぐ方法はありますか?私はここで明白な何かを見逃していると確信しています。
javascript - ajax/jquery を使用したブラウザーの即時更新
Facebookが通知を処理する方法をリバースエンジニアリングしようとしています。メッセージを受信すると、ブラウザーを介して即座に通知されます。
私はそれを少しいじりましたが、サーバーから何らかの更新を行う場合、保留中のGETリクエストが常に「リッスン」していることに気付きました。これは、ある種のオブザーバー パターンのようです。このパターンがどこかに文書化されているかどうか疑問に思っていました。
design-patterns - オブジェクトイベント、それらはどのように実装されますか
イベントは本当に素晴らしいです、そして私はそれらなしで私が何をするかわかりませんが、それらは私にとって謎です。
ある意味でイベントについて話しているのですが、プロパティまたは値である特別なイベントが発生した場合に関数が呼び出されます。
私はこれらが実際にどのように機能するかについて最も漠然とした考えしか持っていません。私はそれがオブザーバーパターンであることを知っていますが、それがどのように機能するか、および/またはそれを実装する方法を本当に知りません。
誰かが私にそれを説明できますか?