网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

go建造者模式,【go设计模式】-创新互联

直接代码:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网页空间、营销软件、网站建设、水富网站维护、网站推广。
ackage main

import "fmt"

//现在有教室和宿舍,教室两扇们,窗户高两米, 宿舍一扇门,窗户高一米

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()
    //同理我们需要一个客厅一个门没有窗户,就可以写一个客厅的builder
    //此处例子很简单,而实际中build函数可能处理很复杂的事,通过builder模式可以把具体的
    //实例与创建过程分开,如此容易扩展与替换创建过程
}


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

本文题目:go建造者模式,【go设计模式】-创新互联
浏览路径:http://bjjierui.cn/article/ddecsd.html

其他资讯