イベントが関与するプログラミング環境でDemeterの法則を調整しようとしています - このjavascriptとobj-c(CocoaのNSNotificationCenter)の両方にイベントが許可されているため、イベントが関わったときのDemeterの法則/単一責任
このような環境では、イベントをスローしてバインド/サブスクライブするだけで、任意の2つのオブジェクトを任意に切り離すことができます。 obj-cでは、メソッドを呼び出す必要があるオブジェクトへの参照を渡す代わりに、これを行うほうがずっと簡単です。私はこれはおそらく常に使用することは良いとは思わない:パフォーマンスの観点では、メソッドディスパッチの最適化を逃している(それは巨大なアプリケーションでなければ、おそらく無視できる)。読みやすさのために、あるオブジェクトが別のオブジェクトの依存関係であることを明示したい場合があります。
私は、ソフトウェアアーキテクチャにおけるイベントの役割に関するいくつかの考えをお伝えしたいと思います。イベントバインディングと直接メソッド呼び出しのバランスをどのようにしたいと思いますか?
私はちょうどhttp://www.youtube.com/watch?v=RlfLCWKxHJ0を見ました。オブザーバーは、あるクラスが別のクラスに到達するという点でサービスレイヤーに似ているようです。登録されたオブザーバーのいない更新プログラム($オブザーバー)があれば、テストには影響しませんが、あなたが話している難読化が作成されます。これを回避する方法はありますか?私が考えている2つの状況は、「Entry Saved!」という通知、ロギングと状態の更新のようなメッセージだけでなく、データストアとビジネスロジック間のやりとりのようなものです。 – Stephane