In questo periodo sto dedicando un po' di tempo all'approfondimento del pattern MVP e delle sue sfumature. Spesso quando devo scrivere il presenter mi chiedo in che modo questo debba dialogare con una view: ovvero se tramite metodi pubblici sul presenter chiamati dalla view oppure eventi sulla view sottoscritti dal presenter.
Gli autori di questo articolo a cui sono giunto grazie a questo post di Antonio suggerisco questo approccio:
Communication with the presenter is made possible by the use of an event subsystem to loosely couple the model and view to the presenter. The most common case is for the view to fire events that the presenter consumes, though model triggered events are also possible. Using events to communicate with the presenter allows for separate packaging of components, reduces compilation dependencies, and allows for the same view to be connected to presenters with different behaviors.
Soprattutto l'ultima frase mi sembra un buon motivo per seguire questo approccio. Ridurre l'accoppiametro tra view e presenter ed in caso di necessità poter riutilizzare le view agganciandole a presenter differenti.
posted @ venerdì 9 marzo 2007 18:26