modify the Interface name
 add singleton pattern demo
add abstract factory
增加了类注释