The document discusses several design patterns including Command, Abstract Factory, Class Cluster, Chain of Responsibility, Composite, Iterator, Memento. It provides examples of each pattern from Cocoa frameworks like NSInvocation for Command and NSEnumerator for Iterator. It explains when each pattern should be used such as Command for parameterizing objects by actions or supporting undo/redo.