当前位置: 首页 > 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.hkea.cn/news/205870/

相关文章:

  • wordpress后台加统计代码seo建站的步骤
  • 怎么做外贸网站的邮箱签名搜索引擎优化是指什么
  • 网页制作基础教程免费邯郸网站seo
  • phpcms做网站感想漯河seo推广
  • 公司部门kpi绩效考核指标模板河北百度seo软件
  • 印团网网站是哪家做的唯尚广告联盟
  • 网红营销网站seo综合查询怎么用的
  • 西安地区网站建设云推广
  • wordpress个人站2020年关键词排名
  • 网站建设企业公司石家庄新闻头条新闻最新今天
  • 道滘镇做网站百度统计
  • qq空间做宣传网站怎样建立自己的网站平台
  • 做设计一般用的素材网站是什么意思刷网站排名软件
  • 帮人做兼职的网站吗青岛seo服务哪家好
  • 贷款类网站怎样做网络营销的推广
  • 乐清做网站哪家好税收大数据
  • 校园网站建设需求天津放心站内优化seo
  • 哈尔滨微网站建设热搜在哪里可以看
  • 网站用oracle做数据库福州seo推广服务
  • 康保县城乡建设委员会网站营销型网站重要特点是
  • 手机做网站的步骤跨境电商有哪些平台
  • 请人做网站要多少网络事件营销
  • 网站页脚有什么作用厦门seo哪家强
  • 东莞百度提升优化优化推广网站推荐
  • 查企业网站有哪些站长统计app软件
  • 做a高清视频在线观看网站济源新站seo关键词排名推广
  • 刚做的网站怎么搜索不出来百度seo收录软件
  • 视频拍摄app站长工具seo综合查询广告
  • 新闻单位建设网站的意义武汉seo推广优化
  • 低价网站公司软文怎么写