what is design patterndesign patterns are concrete solutions for reoccurring problems they satisfy the design principles and can be used to understand and illustrate them they provide name to communicate effectively with other programmers iterator pattern decorator pattern strategy pattern adapter pattern the essence of the iterator factory method pattern is to "provide way to access the elements of an aggregate object sequentially without exposing its underlying representation the decorator pattern is design pattern that allows behavior to be added to an existing object dynamically the strategy pattern (also known as the policy patternis particular software design patternwhereby algorithms behavior can be selected at runtime the adapter pattern is design pattern that translates one interface for class into compatible interface