@ledsun blog

無味の味は佳境に入らざればすなわち知れず

PresentationとかDomainとかSeparateとか

Presentation Domain Separationとは?

Presentation Domain Separation。 プログラムをプレゼンテーションロジックとドメインロジックに分けること

Separate Domain from Presentationとは?

Separate Domain from PresentationPDSを導入するリファクタリングの名前

Separated Presentationとは?

Separated PresentationMVCPDSを強化したパターン。MVCにObserverパターンを適用する

Before:

  1. ControllerはModelを変更する
  2. Controllerは「変更したModelに対応するプレゼンテーションを更新するViewのインタフェース」を呼び出す
  3. Viewは指定されたプレゼンテーションを更新する

After:

  1. ViewはModelの変更を監視する
  2. ControllerはModelを変更する
  3. Modelは変更をObserverに通知する
  4. Viewは変更されたModelに対応したプレゼンテーションを更新する

Controllerの処理が簡単になります。 ControllerがViewを呼び出す処理は残ります。 Modelを更新せずに見た目だけを変更する(警告ダイアログを表示など)場合は、ControllerがViewを呼び出します。