前言
上节我们已经讲到了工厂模式的简单工厂模式
,大家有兴趣的话,可参考
工厂模式(一)—工厂模式简介
工厂模式(二)—简单工厂
这节基于该工厂模式进行优化。
今天涉及知识有:
- 原
简单工厂
工厂的调用 - 改造后的调用
- 具体流程
一. 原 简单工厂 模式的调用
在上节中,我们可以根据不同的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
对象的。
三. 具体流程
场景与AodiCar
,BenChiCar
类和之前是一样的。然后主要改造的是CarFactory
类。先看改造前CarFactory
代码:
网友评论