factory
absfactory
Singleton
threadSingleton