This article is an introduction to design patterns. Patterns are recent software engineering problem-solving discipline that emerged from the object-oriented community. The primary purpose of the pattern is communicating design insights and making patterns coherent and easier to understand. On the basis of a review of existing frameworks and the authors own experiences building visualization software, they present a series of design patterns for the domain of information visualization. The authors discuss the structure, factors use, and association of patterns bridge of data representation, graphics, and interaction.