仓颉中的工厂模式
·
一、工厂模式的简介
通过继承,构建抽象项目类,在项目类下构建不同项目方法继承自项目,根据需求构建工厂子类,应用相应项目。
二、工厂模式的作用
动态绑定相应子类工厂,按需实现相应方法。
三、工厂模式的代码实现
//工厂模式
public abstract class Project {
var name: String
public Project(name: String) {
this.name = name
}
//定义一个抽象方法
public open func work(): Unit
}
//A类项目
public class DemoA <: Project {
public DemoA(name: String) {
super(name)
}
public override func work(): Unit {
println(this.name)
}
}
//B类项目
public class DemoB <: Project {
public DemoB(name: String) {
super(name)
}
public override func work(): Unit {
println(this.name)
}
}
//根据需求构建工厂子类
public abstract class Factory{
public open func createProduct():Project
}
public class FactortA <: Factory {
public func createProduct(): Project {
return DemoA("1.执行项目A")
}
}
public class FactortB <: Factory {
public func createProduct(): Project {
return DemoB("2. 执行项目B")
}
}
public func exec1() {
//进行项目A
var d1: Factory = FactortA()//动态绑定工厂A
var project: Project = d1.createProduct()
project.work()
}
运行结果

更多推荐



所有评论(0)