桥接模式:
我对桥接模式的理解,我认为桥接模式是为了通过一个公共接口来创建这个类的一个实例。然而这个类是一个完全的由其它类组合而成的一个类。通过这个公有的接口类,我们可以控制其中其它的类之间的组成,比如说我要创建一个animal,animal由sex、nam这两个类组成,我可以通过animal而自由搭配,雌雄、其它动物名。与其说是这样的组合模式,不如说,这是将一个结构拆散成不同的具体类型,然后通过这个结构传参创建。
package main
import "fmt"
type AnimalMessage interface{
print() func()
set() func()
}
type animalName struct {
name string
}
func(it *animalName)print(){
fmt.Println(it.name)
}
func(it *animalName)set(name string){
it.name = name
fmt.Println(it.name)
}
type animalSex struct {
sex int
}
func(it *animalSex)print(){
fmt.Println(it.sex)
}
func(it *animalSex)set(sex int){
it.sex = sex
}
type Construct struct {
animalname *animalName
animalsex *animalSex
}
func(it *Construct)construct(name string,sex int){
it.animalname = new(animalName)
it.animalsex = new(animalSex)
it.animalsex.set(sex)
it.animalname.set(name)
}
func(it *Construct)print(){
it.animalname.print()
it.animalsex.print()
}