Design Patterns A standard solution to a common programming problem A technique for making code more flexible or efficient Shorthand for describing program design Creational Patterns Factory (method) Abstract factory Builder Prototype Singleton Structural Patterns Adapter Bridge Composite Decorator Facade Flyweight Proxy Behavioral Patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template method Visitor