we see the same thing in programmingwhen we tell colleague how we accomplished tricky bit of programming so that they don' have to re-create it from scratch we simply recognize effective ways for objects to communicate while maintaining their own separate existences to summarizedesign patterns are frequently used algorithms that describe convenient ways for classes to communicate it has become apparent that you don' just write design pattern off the top of your head in factmost such patterns are discovered rather than written the process of looking for these patterns is called pattern mining and is worthy of book of its own the design patterns selected for inclusion in the original design patterns book were patterns that had several known applications and were on middle level of generalitywhere they could easily cross application areas and encompass several objects the authors divided these patterns into three typescreationalstructuraland behavioral qq qq qq creational patterns create objects for you instead of having you instantiate objects directly this gives your program more flexibility in deciding which objects need to be created for given case structural patterns help you compose groups of objects into larger structuressuch as complex user interfaces or accounting data behavioral patterns help you define the communication between objects in your system and control the flow in complex program the learning process we have found that learning design patterns is multiple-step process acceptance recognition internalization firstyou accept the premise that design patterns are important in your work then you recognize that you need to read about design patterns in order to determine when you might use them finallyyou internalize the patterns in sufficient detail that you know which ones might help you solve given design problem for some lucky peopledesign patterns are obvious toolsand they grasp their essential utility just by reading summaries of the patterns for many of the rest of usthere is slow induction period after we've read about patternfollowed by the proverbial "aha!when we see how we can apply them in our work these help take you to that final stage of internalization by providing completeworking programs that you can try out for yourself