ノートの端の書き残し

UnityやらC#やら。設計が得意かもしれない。

MVPアーキテクチャ誤解あるある

特にUnity界隈を見ていると一生擦られているMVPパターン。
確かに決して悪いものではないのですが、別に最強の設計パターンじゃないし、なにより、適切に適用できずもっっっっっのすごく面倒なことになっているケースをよく見ます。

シーンレベルでPresenterを1つ用意すればいいという誤解

ぶっちぎりで多いのがこれだと思います。これをしてしまうとPresenterやルートとなるModel、Viewの肥大化は避けられません。

MVPパターンに限らずなのですが、アーキテクチャは別にプロジェクト全体で同じものを使う必要は無く、閉じたモジュール内で使えばよいのです。
そして、モジュール同士の関係はシンプルなツリー状になっていればそれでよい。

ナントカパターンみたいなのはカッコよさげで真似したくなるのはわかるし、大人数での開発において、多少具体的な設計思想が存在するのは意思疎通の面で確かにメリットはあります。

でも、一番大事なのは単一責任原則と、依存関係の方向を一方向にすること、依存を単純にすること、というシンプルな原則なので、それを忘れないようにしましょう。切実に。