介绍
这种类型的设计模式属于创建型模式。
意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。
主要解决:主要解决接口选择的问题。
适用场景:我们明确地计划不同条件下创建不同实例时。
例如:日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。
实现
图解
需求:形状有很多种类,想根据客户端的需要,创建不同的形状子类。
工厂模式
我们想通过客户端调用一个工厂类的方法,并传入相应的参数信息,获取相应的实现类。
//创建一个接口
interface Shape {
void draw();
}
//创建实现接口的实体类
class Rectangle implements