On 19/01/2017 11:23, Siemen Baader wrote: > Is there a trait to quickly create singletons in Pharo, along the way of > the Ruby Singleton mixin? > > https://ruby-doc.org/stdlib-1.9.3/libdoc/singleton/rdoc/Singleton.html > > (and ideally also observer/observable, which I am going to need next..) > > -- Siemen
Hi! Singleton in Smalltalk are really easy so there is no Trait. You just need a class variable #UniqueInstance and those methods: current "Can also be named #default or #instance" ^ UniqueInstance ifNil: [ UniqueInstance := self basicNew; initialize; yourself ] new ^ self error: 'I am a Singleton. Use current to get my instance or reset my instance with a new project. Maybe explain why there is a Singleton because we should avoid them if possible.' Now for the observer pattern you have the Announcement framework in Pharo. I don't really have the time to explain but I think there is some doc on internet and on the help browser of Pharo. I found this: http://pharo.gemtalksystems.com/book/LanguageAndLibraries/announcements/ (I did not read it so I don't know what it's worth) -- Cyril Ferlicot http://www.synectique.eu 2 rue Jacques Prévert 01, 59650 Villeneuve d'ascq France
signature.asc
Description: OpenPGP digital signature