add AbstractFactoryExample
ignore target directory
add singleton and prototype pattern example