MVC と MVP および同様のパターンでは、可能な限り愚かな (ロジックがほとんど含まれていない) 「受動的なビュー」のアプローチがしばしばあります。これにより、単体テストが容易になり、ビューとモデルがより明確に分離されます。
これらのパターンには非常にさまざまな特徴があり、特に MVP の理解は記事ごとに異なるようです。したがって、私の質問は「このパターンを正しく実装するにはどうすればよいか」ではありません。
ビューとモデルの分離を改善し、アプリケーションのテスト容易性を向上させたいと考えています。したがって、私は受動的な見方をしたいと思います。しかし、私の質問は、明らかにビューのみに関連するロジックをどこに配置しますか? スクロールバーが移動したときにテキストビューアがテキストをスクロールするように。これのロジックをプレゼンターに入れますか? テキストビューアにいくつかの拡張機能があるとしましょう。テキストパッセージにマーキングを設定するようなものです。このロジックは、Presenter に入れるのが明らかに理にかなっています。ただし、ビューのすべての「直接的な」ロジック (テキストのスクロールなど) と混合すると、Presenter が非常に大きくなる可能性があり、これも実際には優れた設計ではありません。
だから私の質問は、パッシブビューのディスプレイ関連のロジックをどこに配置し、プレゼンターにどの機能を混在させるかです。
ありがとう!