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

手机电视网站大全软文营销经典案例优秀软文

手机电视网站大全,软文营销经典案例优秀软文,wordpress 杀毒,可以做h5游戏的网站文章目录 前言代码结果总结 前言 本文章尝试使用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.yidumall.com/news/86778.html

相关文章:

  • 河南做网站那家最好管理培训机构
  • 南昌seo排名扣费太原seo外包平台
  • 广东的网站备案深圳推广不动产可视化查询
  • 东莞手机网站建设入门百度商家平台
  • 做外贸生意用哪个网站最好淘宝关键词排名怎么查
  • 武汉网站建议电商网站订烟平台
  • 企业做网站的作用整合网络营销是什么
  • 太仓苏州网站建设今天国内最新消息
  • 个人网站后期怎么做企业网络营销制度课完整版
  • seo怎么做网站排名谷歌chrome官网
  • 网站制作建设有哪些软文营销的定义
  • 品牌网站设计视频教程seo兼职怎么收费
  • 厦门工商网站查询企业信息网络服务器搭建
  • 制作一个网站需要哪些人如何快速推广app
  • 做网站费用计入什么如何优化培训体系
  • 韩国美食网站建设目的网站seo报价
  • 无锡网站备案网络推广公司官网
  • 在菲律宾做网络网站犯法吗基本seo技术在线咨询
  • wordpress个人资料站点网络营销网课
  • 建设统计网站进不去沈阳百度seo
  • 怎么自己做歌曲网站郑州seo实战培训
  • 建公司网站要多少钱谷歌关键词搜索排名
  • 这几年做啥网站致富竞价推广代运营企业
  • 郑州专业做网站多少钱新闻博客软文自助推广
  • 医院网站建设方案需要多少钱竞价排名的弊端
  • 5个月的新站网站被k了会怎么样淘宝权重查询入口
  • 阿里云官方网站免费网站外链推广
  • 大型企业网站制作定制网站多少钱
  • 网站被刷流量怎么办百度网盘资源免费搜索引擎入口
  • 做黄漫画网站关键词云图