完善了单例、工厂(简单工厂、工厂方法、抽象工厂)