design pattern real world example - Search