欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

工厂模式简介

程序员文章站 2022-04-12 11:23:06
工厂模式用于创建对象时,有简单工厂,工厂方法、抽象工厂。 简单工厂:由一个工厂对象决定创建哪个实例的对象。简单工厂适用于创建对象少的场景,客户端只需要传入参数,对于如何创建不用关心。 缺点:工厂类职责过重,不易于扩展复杂结构的实例对象,不符合开闭原则。 工厂方法:是指定义一个创建对象的接口,各个不同 ......

工厂模式用于创建对象时,有简单工厂,工厂方法、抽象工厂。

  简单工厂:由一个工厂对象决定创建哪个实例的对象。简单工厂适用于创建对象少的场景,客户端只需要传入参数,对于如何创建不用关心。

       缺点:工厂类职责过重,不易于扩展复杂结构的实例对象,不符合开闭原则。

  工厂方法:是指定义一个创建对象的接口,各个不同对象都有分别的工厂类来实现,让实例化这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。

      在工厂方法模式中,用户只需关注创建的

      对象在哪个工厂中,不需知道创建细节,符合开闭原则。

  抽象工厂:是指提供一个创建一系列相关或相互依赖的对象的接口,适合使用与类似于二维的、比较复杂的场景。比如场景可分为产品族、产品等级结构两个维度的场景。

      将两个维度的相关类分别创建接口,并分别实现。每个产品族都需要一个工厂。

      优点:很清晰的描述了这样复杂场景。

      缺点:不符合开闭原则、增加了系统的抽象性与理解难度。(只要不是系统频繁升级,可以不满足开闭原则。比如隔半年、一年

      应用:在jdbc连接数据库时就用到了抽象工厂,之前在每次使用时都要创建数据库连接,每次创建都十分耗费性能,影响业务调用时间。用了之后,它将数据

      库连接创建好之后放到缓存中缓存者,在每次业务调用时只需现取现用。