简单工厂模式概述
又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例
优点
客户端不需要在负责对象的创建,从而明确了各个类的职责
缺点
这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护
public class IntegerDemo {
public static void main(String[] args) {
Animal dog = AnimalFactory.createAnimal("dog");
Animal cat = AnimalFactory.createAnimal("cat");
Animal pig = AnimalFactory.createAnimal("pig");
if (dog != null) {
dog.eat();
} else {
System.out.println("无法创建");
}
if (cat != null) {
cat.eat();
} else {
System.out.println("无法创建");
}
if (pig != null) {
pig.eat();
} else {
System.out.println("无法创建");
}
}
}
abstract class Animal {// 抽象类
public abstract void eat();
}
class Dog extends Animal {// 狗
public void eat() {
System.out.println("a dog is eatting.");
}
}
class Cat extends Animal {// 猫
public void eat() {
System.out.println("a cat is eatting.");
}
}
class AnimalFactory {// 动物工厂
private AnimalFactory() {// 把构造方法改成private
}
public static Animal createAnimal(String s) {
if ("dog".equals(s)) {
return new Dog();
} else if ("cat".equals(s)) {
return new Cat();
} else {
return null;
}
}
}
原文:http://www.cnblogs.com/denggelin/p/6348092.html