第23章 プレゼンテーターとHumble Object

プレゼンテーターは、Humble Objectパターンの一種
Humble Objectパターンは振る舞いを二つのモジュルールまたはクラスに分割するだけ
一つは、テストが難しい振る舞いのみ、もう一つは、テストがしやすい振る舞い
例えば、GUIの部分ならPresenterとViewの二つのクラスに分けられる

Viewはテストが難しい
したがって、コードは出来るだけシンプルに保つ
GUIにデータを移動するが、そのデータを処理することはない

Presenterはテスト可能なオブジェクト
アプリケーションからデートを受け取り、プレゼンテーション用にフォーマットして、Viewが画面に移動できるようにする
Presenterでデータを渡し、適切な形にフォーマットして、Viewから発見できるViewModelに配置する

テストのしづらい部分としやすい部分に分割することが、アーキテクチャの境界の定義になる
PresenterとViewもその一つ
他に、ユースケースインタラクターとデータベールの間にある、データベースゲートウェイ
サービスと他のサービスの間にある、サービスリスナー