プログラミング MVPパターン ~設計偏~
あいさつ
どうも、はかせです。
前回までは理論とメリットを話しました。
今回は実装する前段階として設計をやっていきます。
まずは設計
実装をする前にはしっかり設計をしていきましょう。
設計は大事です(戒め)
とはいってもMVPそのものの設計はそんな多くないです。
図にするとこんな感じ
究極論MVPパターンってのはUIとロジックを別離して
それぞれの中継役を作れば成立します。
ただこのまま作るとMVPパターン的にちょっとうーんって感じになります。
このまま行くとModelはPresenterを知っている必要がありますし、
ViewはPresenterを知っている必要があります。
PresenterがModelとViewを知っているのは中継役だから仕方ないとしても
ModelとViewは結果を公開しますが誰がデータを受け取るなんて
こいつらにとっては心底どうでもいいことのはずです。
つまりこうしたいです。
要は中継役であるPresenterが監視役となって
値の変更をそれぞれのレイヤーに伝える形ですね。
こうすることでModelはModelで完結できますし、
ViewはViewで完結できます。
UIとロジックを完全に別離できます。
ただこのままでも少し足りません。
なぜならModelもViewも確かに独立してますが
情報を全て内側に隠してしまっているため
Presenterが監視しても変更されたかどうかわからないからです。
なのでこんな感じで
外部に伝えるべき値を通知する機能を付けるとしましょう。
とりあえずざっくりとですが設計はこんな感じにしましょう。
あとがき
今回は設計編でした。
次回はこの設計をもとに実装をしていきます。
(色々やってたらブログ書く時間が無くて超焦ってます)
それでは今回はこの辺でノシ