Factory(工厂模式)
介绍
- 工厂模式:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 是 Java 中最常用的设计模式之一,这种类型的设计模式属于创建型模式 。
优点:
- 一个调用者想创建一个对象,只要知道其名称就可以了
- 扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。
- 屏蔽产品的具体实现,调用者只关心产品的接口。
缺点:
- 每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。这并不是什么好事。
实现
1、创建一个接口
public interface Wearable {
void wear();
}
2、 创建实现接口的实体类
public class Hat implements Wearable{
@Override
public void wear() {
System.out.println("我带了一顶帽子.....");
}
}
public class Jacket implements Wearable{
@Override
public void wear() {
System.out.println("我穿了一件夹克.....");
}
}
3、 创建一个工厂,生成基于给定信息的实体类的对象
public class WearFactory {
public List<Wearable> wear(String ...classNames) {
List<Wearable> list = new ArrayList<>();