当前位置: 首页 > news >正文

手机电视网站大全最有吸引力的营销模式

手机电视网站大全,最有吸引力的营销模式,网站备案 换空间,开通网站费可以做待摊费用吗文章目录 前言代码结果总结 前言 本文章尝试使用go实现“建造者”。 代码 package mainimport ("fmt" )// 产品1。可以有不同的毫无相关的产品,这里只举一个 type Product1 struct {parts []string }// 产品1逻辑。打印组成产品的部分 func (p *Product…

文章目录

  • 前言
  • 代码
  • 结果
  • 总结


前言

本文章尝试使用go实现“建造者”。


代码

package mainimport ("fmt"
)// 产品1。可以有不同的毫无相关的产品,这里只举一个
type Product1 struct {parts []string
}// 产品1逻辑。打印组成产品的部分
func (p *Product1) ListParts() {parts := p.partslength := len(parts)fmt.Print("Product parts: ")for i := 0; i < length; i++ {if i == length-1 {fmt.Print(parts[i])} else {fmt.Print(parts[i], ", ")}}fmt.Println()fmt.Println()
}// 建造者接口提供分别创建所有产品部分的方法。这里举例产品最多有三个部分。
// 返回IBuilder接口,以便链式调用
// 由于组建完成后要返回的产品各式各样,比如产品1、2、3……,可能没有相同的接口,这里就不提供返回产品的方法了
type IBuilder interface {ProducePartA() IBuilderProducePartB() IBuilderProducePartC() IBuilder
}// 具体建造者1。对应返回产品1,这里只举一个。按不同配置需求返回的产品1也不尽相同
type ConcreteBuilder1 struct {product Product1
}func (cb *ConcreteBuilder1) Reset() {cb.product = Product1{}
}func (cb *ConcreteBuilder1) ProducePartA() IBuilder {cb.product.parts = append(cb.product.parts, "PartA1")return cb
}func (cb *ConcreteBuilder1) ProducePartB() IBuilder {cb.product.parts = append(cb.product.parts, "PartB1")return cb
}func (cb *ConcreteBuilder1) ProducePartC() IBuilder {cb.product.parts = append(cb.product.parts, "PartC1")return cb
}// 获取产品1。不同产品可能没有共同的实现接口,故返回类型为具体产品类
func (cb *ConcreteBuilder1) GetProduct() Product1 {result := cb.productcb.Reset()return result
}// go语言使用普通函数实现构造函数
func NewConcreteBuilder1() *ConcreteBuilder1 {cb := ConcreteBuilder1{}cb.Reset()return &cb
}// 主管。接收建造者,并根据配置需求要求建造者创建包含部分组件的对象
type Director struct {builder IBuilder
}func (d *Director) SetBuilder(builder IBuilder) {d.builder = builder
}func (d *Director) BuildMinimalViableProduct() {d.builder.ProducePartA()
}func (d *Director) BuildFullFeaturedProduct() {d.builder.ProducePartA().ProducePartB().ProducePartC()
}// 客户端代码
func clientCode(d *Director) {builder := NewConcreteBuilder1()d.SetBuilder(builder)fmt.Println("Standard basic product:")d.BuildMinimalViableProduct()p := builder.GetProduct()p.ListParts()fmt.Println("Standard full featured product:")d.BuildFullFeaturedProduct()p = builder.GetProduct()p.ListParts()// 不通过主管也能自定义创建产品fmt.Println("Custom product:")builder.ProducePartA()builder.ProducePartC()p = builder.GetProduct()p.ListParts()
}func main() {clientCode(&Director{})
}

结果

Standard basic product:
Product parts: PartA1Standard full featured product:
Product parts: PartA1, PartB1, PartC1Custom product:
Product parts: PartA1, PartC1

总结

新人设计模式理解,望大家多多指点。

http://www.shuangfujiaoyu.com/news/27969.html

相关文章:

  • 昆山企业网站建设公司教育培训机构
  • 长沙市做网站的长沙有实力seo优化
  • html网站建设可视化网页制作工具
  • 网站群如何做网站免费crm客户管理系统
  • 苹果手机怎么做ppt下载网站吗青岛网站关键词排名优化
  • 如何制作自己的网站二维码东莞seo计费
  • jsp做网站de后台管理googleseo服务公司
  • 做企业网站需要买什么app推广渠道在哪接的单子
  • 地方门户系统源码南宁网站优化
  • 青岛 外语网站建设网络热词2023
  • 服装设计素材网站大全百度收录快速提交
  • 宁波 住房和建设局网站百度个人中心登录
  • 网站的意义怎么制作一个网站
  • 织梦做网站如何套取别人网站的模板我想做地推怎么找渠道
  • wordpress建手机网站关键词搜索量怎么查
  • 做ppt模板网站有哪些内容良品铺子网络营销策划书
  • 怎样做自己的导购网站百度推广账户登录首页
  • 永兴网站开发aso优化师
  • 学做网站必须php吗谷歌搜索引擎入口2022
  • 做书的网站有哪些快速排名官网
  • 专业企业网站设计网络公司网络营销策划书案例
  • 辽宁做网站广东又出现新病毒
  • 做公司网站怎么推广常州百度seo排名
  • 免费软件app下载安装广西关键词优化公司
  • b2b 网站系统站长统计app软件下载官网安卓
  • 动态ip地址做网站免费的seo教程
  • 做网站需要会什么条件seo渠道
  • 做a免费网站有哪些广州做seo公司
  • 服务器上如何做网站百度账号登录入口
  • 模板做网站上传百度广告投放价格