MVP

MVPは、MVCのControllerとPMのPresentationModelを合体したようなPresenterを使った手法。

MVCモデルの問題点を解決するPMモデルとMVPモデル - GeekなNooblog

処理内容はPMのバージョンと同じ。

class_custom_view::notify()
class_view::notify()
class_custom_presenter::changed()
class_custom_presenter::changed(), subject is view!
class_custom_model::func(1, 2)
class_model::notify()
class_custom_presenter::changed()
class_custom_presenter::changed(), subject is model!
()
class_presenter::notify()
class_custom_view::changed()
(1 + 2 = 3)
class_view::changed()
class_custom_view::notify()
class_view::notify()
class_custom_presenter::changed()
class_custom_presenter::changed(), subject is view!
class_custom_model::func(1, -2)
class_model::notify()
class_custom_presenter::changed()
class_custom_presenter::changed(), subject is model!
<>
class_presenter::notify()
class_custom_view::changed()
<1 + -2 = -1>
class_view::changed()

こちらも記号が変わった。

Sample/designpattern/mvp/mvp/src/mvp at master · bg1bgst333/Sample · GitHub