Tbpgr Blog

Recruiting Operations tbpgr(てぃーびー) のブログ

Passive View Pattern

概要

Passive View Pattern

詳細

旧来のMVC

Model View Controllerの構成であり、
・Model
ドメインオブジェクトで、データに関わるビジネスロジックを含むもの。
アクセサやわずかな処理しか持たず、サービス層に処理を任せるのはドメインモデル貧血症である。
・View
表示を受け持つ。
・Controller
ViewとControllerの仲介。
入力を元に適切にモデルを呼び出したりするのが主な責務。

旧来のMVCの問題

ドメインに属さないようなロジックを書く場所が明確に規定されていない。
表示のためのロジック等。

Passive View Pattern

MVPパターンの一種。PはPresenter。
Presenterはモデルの呼び出し、UI系のロジックの時刻、Viewの操作を行う。
Viewは操作される側=Passive View(受動的なView)。

これにより、
・UI系ロジックの実装箇所が明確になる
・Testabilityが上がる
PresenterはUIロジックを含むためテストするにはViewが必要だがモックすればよい。