自己网站联系电话修改怎么做网站制作与网站建设
news/
2025/10/6 22:08:10/
文章来源:
自己网站联系电话修改怎么做,网站制作与网站建设,asp源码自助建站,柳市建设网站建造者模式#xff08;Builder Pattern#xff09;使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式#xff0c;它提供了一种创建对象的最佳方式。
一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。
代码实…建造者模式Builder Pattern使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式它提供了一种创建对象的最佳方式。
一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。
代码实现
package builder//Builder 是生成器接口
type Builder interface {Part1()Part2()Part3()
}type Director struct {builder Builder
}// NewDirector ...
func NewDirector(builder Builder) *Director {return Director{builder: builder,}
}//Construct Product
func (d *Director) Construct() {d.builder.Part1()d.builder.Part2()d.builder.Part3()
}type Builder1 struct {result string
}func (b *Builder1) Part1() {b.result 1
}func (b *Builder1) Part2() {b.result 2
}func (b *Builder1) Part3() {b.result 3
}func (b *Builder1) GetResult() string {return b.result
}type Builder2 struct {result int
}func (b *Builder2) Part1() {b.result 1
}func (b *Builder2) Part2() {b.result 2
}func (b *Builder2) Part3() {b.result 3
}func (b *Builder2) GetResult() int {return b.result
}
单元测试
package builderimport testingfunc TestBuilder1(t *testing.T) {builder : Builder1{}director : NewDirector(builder)director.Construct()res : builder.GetResult()if res ! 123 {t.Fatalf(Builder1 fail expect 123 acture %s, res)}
}func TestBuilder2(t *testing.T) {builder : Builder2{}director : NewDirector(builder)director.Construct()res : builder.GetResult()if res ! 6 {t.Fatalf(Builder2 fail expect 6 acture %d, res)}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929749.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!