Design Patterns and Idioms in Ruby
Decorator Pattern
Observer
Singleton
Proxy