欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go建造者模式,【go設(shè)計(jì)模式】

直接代碼:

創(chuàng)新互聯(lián)公司專注于老河口企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā)。老河口網(wǎng)站建設(shè)公司,為老河口等地區(qū)提供建站服務(wù)。全流程按需開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

ackage main

import "fmt"

//現(xiàn)在有教室和宿舍,教室兩扇們,窗戶高兩米, 宿舍一扇門,窗戶高一米

type Room struct {
    doorNum      int 
    windowHeight int 
}

func (r *Room) showRoomInfo() {
    fmt.Println("door num:", r.doorNum, "door windowHeight:", r.windowHeight)
}

type RoomBuilder interface {
    build() *Room
}

func BuildRoom(builder RoomBuilder) *Room {
    return builder.build()
}

type Cla***oomBuilder struct {
}

func (*Cla***oomBuilder) build() *Room {
    return &Room{2, 2}
}

type DormitoryBuilder struct {
}

func (*DormitoryBuilder) build() *Room {
    return &Room{1, 1}
}

func main() {
    room := BuildRoom(&Cla***oomBuilder{})
    room.showRoomInfo()

    room = BuildRoom(&DormitoryBuilder{})
    room.showRoomInfo()
    //同理我們需要一個(gè)客廳一個(gè)門沒有窗戶,就可以寫一個(gè)客廳的builder
    //此處例子很簡單,而實(shí)際中build函數(shù)可能處理很復(fù)雜的事,通過builder模式可以把具體的
    //實(shí)例與創(chuàng)建過程分開,如此容易擴(kuò)展與替換創(chuàng)建過程
}


github長期更新:
https://github.com/fanux/gopatterns

分享名稱:go建造者模式,【go設(shè)計(jì)模式】
URL分享:http://www.chinadenli.net/article36/jcojsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)網(wǎng)站收錄網(wǎng)站策劃外貿(mào)網(wǎng)站建設(shè)App開發(fā)云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站