Swift-建造者模式

建造者模式是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.

建造者模式.jpg

执行者:

class Director {
    
    var builder:Builder?
    
    convenience init(builder:Builder) {
        self.init()
        self.builder = builder
    }
    
    func construct() {
        
        self.builder?.makeTop()
        self.builder?.makeBody()
        self.builder?.makeBottom()
    }
    
}

建造者:

class Builder {
    
    func makeTop() { }
    
    func makeBody() { }
    
    func makeBottom() { }
    
}

class WebBuilder: Builder {
    
    override func makeTop() {
        print("FlyElephant---网页制作");
    }
    
    override func makeBody() {
        print("FlyElephant---<Html></Html>")
    }
    
    override func makeBottom() {
        print("FlyElephant----Footer")
    }
}

class MobileBuilder: Builder {
    
    override func makeTop() {
        print("FlyElephant---移动制作");
    }
    
    override func makeBody() {
        print("FlyElephant---UITableView")
    }
    
    override func makeBottom() {
        print("FlyElephant----tabBar")
    }
}

测试代码:

let webBuilder:Builder = WebBuilder()
        
        var director:Director = Director(builder: webBuilder)
        
        director.construct()
        
        let mobileBuilder:Builder = MobileBuilder()
        
        director = Director(builder: mobileBuilder)
        
        director.construct()
FlyElephant.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容