单例模式跟工厂模式