工厂模式(三)—简单工厂优化(静态调用)

2022-08-04  本文已影响0人  奔跑的佩恩

前言

上节我们已经讲到了工厂模式的简单工厂模式,大家有兴趣的话,可参考
工厂模式(一)—工厂模式简介
工厂模式(二)—简单工厂
这节基于该工厂模式进行优化。
今天涉及知识有:

  1. 简单工厂工厂的调用
  2. 改造后的调用
  3. 具体流程

一. 原 简单工厂 模式的调用

在上节中,我们可以根据不同的type来获取不同的对象,然后进行调用该对象的方法,具体如下:

object Test {

    @JvmStatic
    fun main(args: Array<String>) {
        //简单工厂
        var carFactory = CarFactory()
        var aodiCar: AodiCar =carFactory.createCar("A") as AodiCar
        aodiCar.carName()
        var benChiCar: BenChiCar =carFactory.createCar("B") as BenChiCar
        benChiCar.carName()
    }

}

二. 改造后的调用

优化的点主要是不想new 工厂对象,于是,改造后的调用代码如下:

object Test {

    @JvmStatic
    fun main(args: Array<String>) {
        //简单工厂
        var aodiCar: AodiCar = CarFactory.createCar("A") as AodiCar
        aodiCar.carName()
        var benChiCar: BenChiCar = CarFactory.createCar("B") as BenChiCar
        benChiCar.carName()
    }

}

可以看到我们是直接通过CarFactory类静态调用获取car对象的。

三. 具体流程

场景与AodiCarBenChiCar类和之前是一样的。然后主要改造的是CarFactory类。先看改造前CarFactory代码:

上一篇 下一篇

猜你喜欢

热点阅读