java静态工厂模式和new有什么区别?
正常创建一个对象直接new即可
静态工厂模式虽然是通过调用工厂类中的方法进行创建对象,但是工厂类里面还是new操作,只不过是在static里面,这个static有什么作用?难道加了之后就不是new了?
回答:工厂方法模式是在简单工厂模式上面进行修改,增强扩展性的,静态工厂模式是为了减少代码的耦合性,以及规范性,通过静态方法直接创建对象可以直接得到对象,后期你如果觉得这个创建对象的过程想要修改,可以直接在静态方法内修改,其他使用到这个静态方法的地方都不用修改,但如果你是一个一个对象创建的,要修改起来就比较麻烦了;当然,直接创建也有直接创建的好处,主要看你代码的功能,当代码出现一定的重复,冗余的时候,你自然就会通过抽象出方法以及类的方式,来降低这样的重复,这也就是静态方法或者别的一些设计模式产生的原因。
Java中对象总要有一个地方new出来的 这是Java创建对象的最常规的方式 , 但是在掺杂业务的时候 就需要考虑下 使用硬编码new对象会不会对后期 出现的功能复杂度提高和业务拓展的情况出现过大的影响 , 其实使用设计模式也是需要来衡量一下的 , 静态工厂提供对象的方式 可以让你业务代码里只耦合 A.createObject() 这个方法 就可以在 createObject 里边创造各种各样的对象 , 就像是你去餐厅点餐你需要知道每一道菜具体是怎么做的吗 , 只需要给厨师说一声 他就会帮你做好了 。 最少知道原则 降低关联性后期容易更改和维护,但是这样也会产生过多的零件类 所以使用设计模式前需要衡量一下