好处主要有:
1、将创建实例的工作与使用实例的工作分开
2、把初始化实例时的工作放到工厂里进行,使代码更容易维护。
3、使得修改代码时不会引起太大的变动,良好的扩展性。
比如,有对象A。现在要修改这个实例的方法。就会有对象B,继承A,然后重写A里面的某个方法。这时,如果没有工厂模式,那么就要把每次创建A对象的代码都改为创建B对象。这是很可怕的一件事情。
如果有工厂模式,那么,我们可以只修改工厂中创建A对象的方法,就可以完成这件事情了。更容易的,可以把这个实例的创建写在配置文件中。那么对于这种变动,只要修改配置文件就可以实现了,不需要修改工厂类。
1、将创建实例的工作与使用实例的工作分开
2、把初始化实例时的工作放到工厂里进行,使代码更容易维护。
3、使得修改代码时不会引起太大的变动,良好的扩展性。
比如,有对象A。现在要修改这个实例的方法。就会有对象B,继承A,然后重写A里面的某个方法。这时,如果没有工厂模式,那么就要把每次创建A对象的代码都改为创建B对象。这是很可怕的一件事情。
如果有工厂模式,那么,我们可以只修改工厂中创建A对象的方法,就可以完成这件事情了。更容易的,可以把这个实例的创建写在配置文件中。那么对于这种变动,只要修改配置文件就可以实现了,不需要修改工厂类。