commonly occurring problems in software design. • Patterns are proven solutions to software development problems • Patterns are scalable as they usually are structured and have rules that you should follow • Patterns are reusable for similar problems
object creation mechanisms • Structural -concerned with object composition and typically identify simple ways to realize relationships between different objects. • Behavioral - focus on improving or streamlining the communication between disparate objects in a system. Although there is a long list of design patterns , I will cover few
Keep best practices in mind • Our design patterns should be transparent to the user • Remember that originality is not key in pattern design • Patterns need a strong set of examples.