Až na to, že ten můj messenger obsahuje pouze data, která View potřebuje pro zobrazení a nic víc. View si z něj už nic nevybírá, ale všechna data v něm obsažená odprezentuje přes šablonu a nic nenechá ladem.
Takže ViewModel?
ViewModel ten můj messenger být nemůže, protože neobsahuje žádnou logiku - pouze strukturovaná data potřebná pro aktuální prezentaci a nic víc. View využije všechna tato data. ViewModel by musel přijímat od View povely, ale tenhle to neumí. Ve chvíli, kdy je volán Model, tak ještě neexistuje - vyrábí ho teprve Model jako kopii požadované části dat.
Ten můj messenger je obyčejnou kolekcí, se kterou si View může dělat co chce. Co je na tom k nepochopení?
Někdo může namítnout, že metoda, která vyrábí můj messenger, je v podstatě getter. A ve své podstatě by měl pravdu. Pouze výsledkem takové operace není skalár s jedním údajem, ale struktura, ve které jsou všechny požadované hodnoty v jednom balíku a v takové podobě, že se dá téměř strčit do výstupní šablony.