Design patterns and idioms:
*
Design Patterns and Idioms in Ruby
*
Observer
*
Proxy