私はオブザーバーパターンに頭を悩ませようとしています、そして概念的には-私はそれを理解しています、それはたくさんのものにとって本当に有益であるようです...
ただし...すべての例と私が行っている読書では、すべての例で「単一の」データポイントと、そのデータポイントを管理する単一のクラスが使用されているようです。したがって、もちろん、「x」が変更された場合は、他の人に通知してください。 (登録済み)クラス..。
複数のデータポイントを変更する可能性のあるクラスに複数のメソッドがある場合、どうしますか?-特定の「メソッド」に登録することになっている「オブザーバー」です-または「onchange」メソッドを追加しますか-
たとえば、いくつかの通常のCRUDメソッドを使用したUSERオブジェクトを例にとると、「挿入」、「更新」、「削除」...これらの各メソッドは「データを変更」します。
2つのオブザーバー(「logging」オブジェクト)があり、UIオブジェクトがユーザー名に関連付けられている場合...明らかに、ログオブジェクトはデータの変更について知りたいのに対し、UIオブジェクトはユーザー名のみを考慮します。
これらの複数のデータポイントをどのように処理しますか?(うまくいけば)各データポイントを個別に更新するコードを記述せず、それぞれを「監視」するように登録します!!! それはばかげているでしょう。
引数のために-ユーザーの「属性」が100データポイントであると仮定します-(first、middle、last、dob、username、email、password、lastloginなど...)そして「updateUser」メソッドが起動します-lastloginのみを変更します...「通知」はUIにアラートを送信しないことを決定する条件付きロジックを処理しますか(またはUIはアラートを送信します(「ユーザー」のオブザーバーであるため)、UIオブジェクトには通知を処理するメソッドがあり、ITは通知を処理します'lastlogin'が興味を持たないと判断するための条件付きロジック。