Exploring Design Patterns