Squeak and Events (Observer pattern)
Last updated at 7:14 pm UTC on 4 December 2007
Here is an example which shows how to use events to implement a changed, update: behavior (observer pattern).
This is the way to avoid all these ugly update method full of case statements.
Stephane Ducasse
MyModel>>lifes: aNumber
lifes := aNumber.
self trigger: #lifesChanged.
MyUI>>initialize
super initialize.
domain := MyModel new.
domain when: #lifesChanged send: #lifesChanged to: self.
Take care the following in for Squeak32 the interface slightly changed in 3.3
MyUI>lifesChanged
lifeDisplay value: domain lifes
Also see Morphic Event Handling.
Also see Announcements Framework, a new framework for doing this kind of thing faster and simpler.