プログラミング MVPパターン ~理論編①~
あいさつ
どうも、はかせです。
今回はプログラムの組み方の一つである
MVPパターンというものについて紹介したいと思います。
MVPパターンとは?
Model View Presenter
という3つレイヤーにプログラムを分けて組む組み方です。
それぞれ説明していきます。
Model
計算処理などを行うレイヤーになります。
例えばRPGゲームなんかでは大体どのキャラもHPやMPがありますよね。
HPはダメージを受けたり回復されたら増減しますし、MPは魔法などを使えば減ります。
そのときの計算処理をこのレイヤーで行い、Presenterレイヤーに結果を渡します。
Presenter
ModelレイヤーとVIewレイヤーの橋渡しを行うレイヤーです。
Modelレイヤーが計算した結果を受け取りViewレイヤーに中継します。
View
Presenterレイヤーから渡ってきた結果を画面に描画するレイヤーです。
設計によって変わりますが、
私はゲージなどがあればこのレイヤーで処理してしまいますね。
まとめ
今までの説明を図にしてみました。
MVPパターンでやることは極めて単純で
・計算処理
・計算した結果を中継
・中継されてきた結果に従い描画
これだけです。
あとがき
今回はMVPパターンのやっていることの説明でした。
次は理論編②ということでMVPパターンのメリットなどについて書いていきたいと思っています。
それでは今回はこの辺でノシ
UE4ソース読み 新ウィンドウのプログラムはどこ?
あいさつ
どうも、はかせです。
前回プロジェクトを作るとこまで読んだのでその続きです。
前回の間違い
前回プロジェクトを作ったら
ループが切り替わるっぽいという話をしました。
hakase0274.hatenablog.com
ただどうやらループが切り替わっているのではなく
プログラムごと切り替わっているようです。
ループが終わったあとブレークポイントを貼って動かしたところ
LaunchWindows.cppのWinMain関数のreturnまでプログラムが走りました。
WinMainが終わるということはそのウィンドウのプログラムが終了したということです。
確かにプロジェクト開ける時一旦ウィンドウが閉じられてから
再度ウィンドウが立ち上がります。
新しく開かれたウィンドウのプログラムはどこ?
今現状捜索中です・・・orz
私が知りたいのはむしろこの新しく開かれるプロジェクトウィンドウの
プログラムなので何が何でも探し出したいところです。
とりあえず最初のウィンドウプログラムの終了処理の中で
次のウィンドウを生成してる部分がないか探してるんですが
まだ発見できません・・・