工厂的使用可以隐藏对象实例化的细节. 降低耦合性,为未来在不改动现有代码的基础上进行优化提供可能.
我们想象一下,如果所有的对象实例都是new出来的,当有一天我们要控制某个实例的数目时,我们需要从每一个类文件中去搜找这个类实例化的地方,改掉所有的new.所以如果没有必要的理由,不要将构造器暴露出来.一律采用工厂模式.常用的工厂模式有三种:"简单工厂模式","工厂方法模式","抽象工厂方法模式"
这也是项目中得到的教训之一:new 是僵硬的,危险的,它会让代码变得难以改进,大量的反复的new还会降低效率