From ObserverPatternInCeePlusPlus:
In this paper Yannis Smaragdakis and Brian McNamara propose a different way of implementing the ObserverPattern using FunctoidsInCpp. In this model the observers send the subject a functoid which wraps the member function of the observer to be called. This means that the subject needs only to collect the calls it needs to make when told to notify a change.
This can be applied to implement a LazyInstantiationPattern - see LazyPtrProxy.
http://www-static.cc.gatech.edu/~yannis/fc++/funoo.pdf
See also FunctionalPatternSystemForObjectOrientedDesign, DeprecatingTheObserverPattern
CategoryPaper CategoryFunctionalProgramming CategoryCpp CategoryObjectFunctionalPatterns CategoryMultiparadigm