JAVA开发过程中,我们可以遵循一定的设计模式来使自己的程序更加的优雅,今天就简要总结一下简单静态工厂方法模式。
工厂模式是什么?
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。
通俗一点讲也可以是将实例化的操作统一到一个工厂类进行操作。
下面就用结合前面的一个例子说明,前面总结面向对象的思想的时候曾用过HP类和Canon类继承Printer类然后在实现类中分别调用HP类和Canon类就能实现不同打印机的相同和不同的功能。
然而结合工厂模式来思考,如果一次性实现多个继承了Printer类的子类,然后就会有大量的重复代码和new对象,这样显然不能体现面向对象的思想。
使用工厂模式来思考,我们需要的是新建一个工厂类,在工厂类中实现子类的实例化然后向上转型返回,这样就节省了大量的代码,也为方便了以后再次添加子类的情况。
public class PrinterFactory {
public Printer getPrinter(int flag){
Printer printer=null;
if(flag==1){
printer=new Canon();
}else if(flag==2){
printer =new Hp();
}
return printer;
}
}
工厂模式不是一种开发规范或者要求,是许许多大牛在多年的开发中总结出的开发经验,理解它,能有效提高代码质量,降低耦合,使代码更加高效和优雅。