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

wordpress的子主题seo的培训班

wordpress的子主题,seo的培训班,营销型网站建设定制,服装 多语言 网站源码文章目录 前言代码结果总结 前言 本文章尝试使用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.yayakq.cn/news/502169/

相关文章:

  • 网站seo技术教程仿素材网站
  • 外贸网站cmsiis如何发布php网站
  • 招聘网站费用怎么做分录手机端网站html好看的模板
  • 西安东郊网站建设北京有哪些网站建设公司好
  • 建公司网站哪家公司好室内设计网站知乎
  • 网站在浏览器的图标怎么做网页搜索关键词快捷键
  • 企业网站建设问题前端自己做博客网站
  • 图库素材网站什么是wordpress网站
  • 大连建设主管部门官方网站公司网站必须做可信认证吗
  • 女生做网站编辑好吗怎么创建网页快捷方式
  • 网站推广的基本方法有哪些dede 网站地图怎么做
  • 北京seo网站开发网站开发自学资料
  • 贵德县wap网站建设公司网站建设衤金手指谷哥十四
  • 云南建设学校网站基因数据库网站建设
  • 做彩票网站需要什么服务器网站的制作
  • 手机网站开发库为什么实验楼网站上做实验这么卡
  • 有没有交流做服装的网站百度快照是啥
  • 采集网站开发网站开发市场前景
  • 找人做一个网站需要花多少钱东营网站建设方案范文
  • 网站轮播动态图如何做嘉兴建设工程造价信息网站
  • 网站开发技术网站国内永久免费crm系统网站推荐有哪些
  • 河南省城乡与住房建设厅网站首页网络营销自己做网站
  • 校园网网站的安全建设方案app是程序员做出来的吗
  • 网站自助建设平台百度社交网站开发
  • 做请帖的网站全免费的传奇手游
  • 哈尔滨 网站开发企业品牌营销策划公司
  • 网站建设包括哪些网络公司做网站价格
  • 深圳做网站比较慧聪网网址
  • 做网站难度注册1000万公司每年费用多少
  • 河池网站建设服务3d模型素材库