设计模式_工厂模式
简单工厂模式
- 简单工厂模式属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式中最简单实用的模式。
- 简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为。
- 当需要大量创建某种、某类或某批对象时,就会用到工厂模式。
简单工厂模式并不属于GoF 的 23 种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”。
简单工厂模式的结构和实现
结构
- 工厂(Factory):完成具体产品的创建。
- 抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能。
- 具体产品(ConcreteProduct):实现了抽象产品角色所定义的接口,由具体工厂来创建,它同具体工厂之间一一对应。
模式的实现
Product:Animal
public interface Animal {
public void born();
}
ConcreteProduct:Cattle
public class Cattle implements Animal {
public Cattle() {
}
@Override
public void born() {
// TODO Auto-generated method stub
System.out.println("动物:牛 出生了。");
}
}
ConcreteProduct:Horse
public class Horse implements Animal {
public Horse() {
}
@Override
public void born() {
// TODO Auto-generated method stub
System.out.println("动物:马 出生了。");
}
}
Factory:AnimalFarm
public class AnimalFarm {
public static Animal createAnimal() {
Animal animal = null;
do {
String animalType = getType();
if ("horse".equals(animalType)) {
animal = new Horse();
} else if