一、工厂模式的简介

通过继承,构建抽象项目类,在项目类下构建不同项目方法继承自项目,根据需求构建工厂子类,应用相应项目。

二、工厂模式的作用

动态绑定相应子类工厂,按需实现相应方法。

三、工厂模式的代码实现


//工厂模式
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()
}

运行结果

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐