定义
工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
简单工厂模式
工厂方法模式
抽象工厂模式(明天再单独讲)
实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例。简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。
工厂方法是粒度很小的设计模式,因为模式的表现只是一个抽象的方法。 提前定义用于创建对象的接口,让子类决定实例化具体的某一个类,即在工厂和产品中间增加接口,工厂不再负责产品的创建,由接口针对不同条件返回具体的类实例,由具体类实例去实现。
整体结构
产品接口
第一款产品具体类
第二款具体产品
抽象工厂
具体实现工厂
启动测试
结果
优点:
1, 一个对象拥有很多子类。
2, 创建某个对象时需要进行许多额外的操作。
3, 系统后期需要经常扩展,它把对象实例化的任务交由实现类完成,扩展性好。
缺点:
每次增加一个产品时,都需要增加一个具体类和对象实现工厂使得系统中类的个数成倍增加,所以对于简单对象来说,使用工厂模式反而增加了复杂度
简单的设计模式讲解已经接近尾声,希望大家可以多回头看看历史文章,温故而知新。