1 概述
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,属于创建型模式。在工厂模式中,我们创建对象时不会被客户端暴露创建逻辑,通过一个共同的接口指向新创建的对象。
父类定义接口,子类实例化对象。
2 实现
工厂模式主要是借助工厂来进行实例的创建,所以在工厂内部需要提供创建对象的方法。
2.1 实现步骤
1 定义父类接口
2 定义子类实现父类接口
3 定义工厂类用来生成实例对象
2.2 具体实现
1 定义父类接口
public interface Animal(){
public void create();
}
2 定义子类实现父类接口
//具体实例类:Cat
public class Cat implements Animal {
@Override
public void create() {
System.out.println("cat : create()");
}
}
//具体实例类Dog
public class Dog implements Animal {
@Override
public void create() {
System.out.println("dog : create()");
}
}
3 定义工厂类用来生成实例对象
//工厂类生成实例对象
public class AnnimalFactory{
//通过传递的类型名,得到具体的对象
public Animal getAnimal(String animal){
if("cat".equals(animal)){
return new Cat();
}else if("dog".equals(animal)){
return new Dog();
}else{
//传递的类型不对或者为空的时候
return null;
}
}
}
4 测试
public class Test {
public static void main(String[] args) {
AnimalFactory animalFactory = new AnimalFactory();
Animal cat = animalFactory.getAnimal("cat");
cat.create();
Animal dog = animalFactory.getAnimal("dog");
dog.create();
}
}
//
// cat : create()
// dog : create()