(1)Java设计模式之——工厂模式
工厂模式是Java的常用设计模式之一,属于创建型模式。
优点:当多次调用一个方法时,它可以使代码更简单,可以不需要重复写这部分代码,调用者无需关心繁琐的实现过程。
缺点:当增加一个方法时需要创建一个类,并在工厂类中增加一个具体的方法实现,修改起来比较繁琐。
下面举个例子:
1、创建一个水果接口
public interface Fruit { void eat(); }
2、创建实现接口的“苹果”类
public class Apple implements Fruit { @Override public void eat(){ System.out.println("------吃苹果-----"); } }
3、创建实现接口的”西瓜“类
public class Watermelon implements Fruit { @Override public void eat(){ System.out.println("-------吃西瓜-------"); } }
4、创建一个工厂,指定具体的实现方法
public class FruitFactory { public Fruit getFruit(String type){ if(type == null){ return null; } if("watermelon".equals(type)){ return new Watermelon(); }else if("apple".equals(type)){ return new Apple(); } return null; } }
5、使用工厂,传递一个”苹果“来实现具体方法,吃苹果
public class FruitDemo { public static void main(String[] args){ FruitFactory fruitFactory = new FruitFactory(); Fruit fruit = fruitFactory.getFruit("apple"); fruit.eat(); } }
6、输出结果:
------吃苹果-----
注意:
当任何需要生成复杂对象的地方,是可以使用工厂模式,特别需要注意的是,如果只是通过new就能创建的对象则无需使用工厂模式,因为使用该模式必然需要创建一个工厂类,简单对象使用该方式反而会增加了系统的复杂度。
浙公网安备 33010602011771号