2011-07-26 6 views
1

「Observer-Observable」パターンについて聞いたことがありますが、プログラミング言語でObservableを作成する必要がない方法があれば、 Observableがデータベースに変更があることを伝え、ObservableがObservableにすべてのObserverに通知するように指示します。毎回データベースを感知するプログラムがないようにする。データベースはどのようにしてプログラムに対して観測可能になるのですか?

+1

データベースはトリガーアウトコールするデータベース固有の機能と相まって/オブザーバーに通知する? –

+0

@ Ryan:詳細をお知らせください。私。どのようにリスナーに通知することができますか? – Rekin

答えて

1

DBトリガーを使用します。

ストアドプロシージャになるDBによっては、そこからアプリケーションが提供しているポートにHTTPリクエストを送信する可能性があります。

しかし、これは非常に悪い習慣であり、サービスフロントエンドを書いて、そのレベルでリスニング/観察を実装できないので、DBレベルのオブザーバが本当に必要ですか?

1

さまざまな可能性があります。たとえば、OracleからJavaプログラム/コードをトリガー/ SPから起動できます。おそらく他のDBにも同様の機能があります。しかし、それはあなたがこの変更をして何をしたいかによって異なります。

通常、アプリケーションはデータベースの現在の状態を照会し、予期した状態と観察された状態の不一致をユーザーに通知する方法を決定する必要があります。私の意見では、DBの現在のビューを常に維持することは、あまりにもオーバーヘッドになります。

特定のアクションの電子メールを送信するようなことをしたいのであれば...プログラムやストアドプロシージャを起動する方法があります。データベースの他の部分を更新する場合は、その自己コードをdbコード内に保持してください。

私は私が言うことをしようとしているのかどうか推測があなたの目標が何であるかに応じて、ある... 観察可能なパターンがまたは最善のアプローチであってもなくてもよい

関連する問題