Introduce several design patterns and their implemtation.