Basically there is two options as I know.
The first is view expose notifications events which a presenter should be subscribed to. When user clicks on some button on the view, view just triggers some event, notifies that something is changed.
The second is just use an observer pattern and let the presenter interfere some contract. Let it be an interface with methods like events I told you above. An presenter-observer should be attached to the view.
As Jeremy Miller in his legendary "Build your own CAB series" blog posts said, it's better for him to use the second option.
What's your opinion on this topic? How do you tie presenter and view in your projects? What's advantages or disadvantages for every options?
Let make some poll here. I think it would be useful. Thanks in advance!
In order to respond to Peter Ritchie's answer.
My issue is that my inexperience and I should rely on somebody's opinion to make a decision and choose a way that seems right to me.
The drawback with interfaces is that you have specific coupling. The view is coupled to an interface and something has to implement that interface
But on the other hand, is not events serves like a some contract (like an interface do)? It tied presenter to the view as it should react over that events.