91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kotlin和Java建造者模式怎么實現

發布時間:2021-11-30 13:51:40 來源:億速云 閱讀:152 作者:iii 欄目:大數據

本篇內容主要講解“Kotlin和Java建造者模式怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Kotlin和Java建造者模式怎么實現”吧!


Kotlin和Java建造者模式怎么實現


  1. 指揮者(Director)直接和客戶(Client)進行需求溝通;

  2. 溝通后指揮者將客戶創建產品的需求劃分為各個部件的建造請求(Builder);

  3. 將各個部件的建造請求委派到具體的建造者(ConcreteBuilder);

  4. 各個具體建造者負責進行產品部件的構建;

  5. 最終構建成具體產品(Product)。


建造模式很簡單,一組裝電腦為例,由于電腦元件一般不會發生太大的改變,但電腦組裝是一個復雜的過程。
UML圖:

Kotlin和Java建造者模式怎么實現

1.創建建造請求

abstract class Builder {    //第一步:裝CPU
    //聲明為抽象方法,具體由子類實現
    abstract fun buildCPU()

    //第二步:裝主板
    //聲明為抽象方法,具體由子類實現
    abstract fun buildMainboard()

    //第三步:裝硬盤
    //聲明為抽象方法,具體由子類實現
    abstract fun buildHD()

    //返回產品的方法:獲得組裝好的電腦
    abstract fun getComputer(): Computer
}
 

2.將建造請求委派到建造者進行實現

class ConcreteBuilder : Builder() {    //創建產品實例
    private var computer = Computer()    //組裝產品
    override fun buildCPU() {
        computer.add("組裝CPU")
    }

    override fun buildMainboard() {
        computer.add("組裝主板")
    }

    override fun buildHD() {
        computer.add("組裝硬盤")
    }    //返回組裝成功的電腦    override fun getComputer(): Computer {        return computer    }
}
 

3.指揮組裝元件

class Director {
    //指揮裝機人員組裝電腦
    fun construct(builder: Builder) {

        builder.buildCPU()
        builder.buildMainboard()
        builder.buildHD()
    }
}
 

4.定義具體產品類(Product):電腦

class Computer {    //電腦組件的集合
    private val parts = ArrayList<String>()    //用于將組件組裝到電腦里
    fun add(part: String) {
        parts.add(part)    }    fun show() {        for (i in parts.indices) {            println("組件" + parts[i] + "裝好了")
        }
        println("電腦組裝完成,請驗收")


    }
}
 

客戶端調用

object BuilderTest {    @JvmStatic
    fun main(args: Array<String>) {        //逛了很久終于發現一家合適的電腦店
        //找到該店的老板和裝機人員
        val director = Director()
        val builder = ConcreteBuilder()        //溝通需求后,老板叫裝機人員去裝電腦
        director.construct(builder)        //裝完后,組裝人員搬來組裝好的電腦
        val computer = builder.getComputer()        //組裝人員展示電腦給小成看
        computer.show()

    }
}

結果輸出

Kotlin和Java建造者模式怎么實現

每一個具體建造者都相對獨立,而與其他的具體建造者無關,因此可以很方便地替換具體建造者或增加新的具體建造者,用戶使用不同的具體建造者即可得到不同的產品對象。

到此,相信大家對“Kotlin和Java建造者模式怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万州区| 阳山县| 江油市| 宝兴县| 南阳市| 巴南区| 临颍县| 饶河县| 集贤县| 永宁县| 莱芜市| 花莲县| 泸定县| 南涧| 新野县| 阿城市| 新晃| 和龙市| 儋州市| 柯坪县| 英超| 乾安县| 龙口市| 阳江市| 弥勒县| 海原县| 中超| 墨玉县| 合川市| 永胜县| 阳谷县| 义乌市| 浦东新区| 镇赉县| 收藏| 筠连县| 镇江市| 弥勒县| 镇沅| 普兰店市| 福贡县|