Gamma, Erich et. al. Design Patterns: Elements of Reusable Object-Oriented Software . Addison-Wesley, 1995.
Schmidt, Douglas C. Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects . Jon Wiley & Sons, 2000.