添加Abstract Factory
add junit
add Singleton
add Builder