私は WinForms アプリケーションを継承しましたが、これにはビジネス ロジックと UI コントロールの間の懸念事項の分離に関する重大な問題があります。この 2 つは完全に絡み合っているため、重大なリグレッションを発生させずに UI の変更/拡張を行うことはほぼ不可能になっています。
MVP リファクタリングの提案の一環として私が直面している問題の 1 つは、モデルに影響を与えるアクションを定義する最善の方法です。アプリケーションの複数の領域で使用されるこれらのアクション (顧客履歴の更新など) が多数あるため、モデルの対話をプレゼンターに直接コーディングしたくありません。
特定の永続オブジェクトに影響を与える多くのアクションは、(静的メソッドではありますが) そのオブジェクト内に既にカプセル化されています。このパターンを続けて、リファクタリングしてメソッドをインスタンスベースにするか、メソッドを別の API のようなクラスのセットに分割する必要がありますか?
編集:
ここで私が本当に求めているのは、モデルを定義するクラス内でモデルに影響を与えるメソッドをカプセル化してもよいですか、それともこれらの POCO を保持し、API をモデルに定義する別のクラス セットにメソッドを実装する必要があるかということです。