Fowler, Martin et. al. Patterns of Enterprise Application Architecture . Addison-Wesley, 2002.
Gamma, Erich et. al. Design Patterns: Elements of Reusable Object-Oriented Software . Addison-Wesley, 1995.