A design pattern learning tool with examples for my reference