言及された2つのパターンの違いについて疑問に思っています。プレゼンテーション モデル パターンに同期コードが必要であり、そのコードがプレゼンテーション モデル自体にあると考えると、パターンは非常に似ていると思います。
どちらもイベントをプレゼンテーション モデル / プレゼンターに委任します。プレゼンテーション モデルとプレゼンターはドメイン モデルを指揮し、ドメイン モデルも観察します。変更が発生すると、両方ともビューと同期します (プレゼンテーション モデルの同期コードはプレゼンテーション モデルにあるため)。
私の意見では、違いは、プレゼンテーション モデルがビューの抽象的な形式であることです。ビューの状態と動作を記述します。そのため、すべてのビュー ステート情報のプロパティがあります。この情報は、同期コードを介して同期されます。受動的な見方では、発表者は必然的に抽象的な形の見方ではありません。そのため、プレゼンターは必ずしもビュー ステートを表すプロパティを持っているわけではありません。そのため、プレゼンターは状態を「同期」しません (コントロールとプレゼンター自体の属性)。代わりに、(変更時に) ドメイン データをコントロールに「コピー」するだけです。したがって、違いは本質的にビューの抽象化です。そのプレゼンテーション モデルは、パッシブ ビューではプレゼンターがドメイン データのデータ マッパーと見なされる可能性があるときに提供します。
これまでのところ大丈夫ですか、それとも何か重要なことを見逃していますか?
ありがとう、よろしくパトリック