====== Design Patterns ====== According to Gang of Four, Patterns are one of three types: | Behavioral | Behavioral patterns help you define the communication between objects in your system and how the flow is controlled in a complex program. | | Creation | Creation patterns are ones that create objects for you, rather than having you instantiate objects directly. This gives your program more flexibility in deciding which objects need to be created for a given case. | | Structural | Structural patterns help you compose groups of objects into larger structures, such as complex user interfaces or accounting data. |