設計模式golang-外觀模式

定義

提供一個統一的接口,用來訪問子系統中的一羣接口。外觀定義了一個高層接口,讓子系統更容易使用。

角色

1.高層接口

2.子系統接口

例子

小明喝咖啡,咖啡店製作咖啡,製作咖啡又需要咖啡豆和水等,咖啡店對於小明來說就統一了咖啡豆等子類訪問。

//子系統接口
type Caffe struct{
 Name string
}
type CaffeineShop interface{
MakeCaffe(name string)*Caffe
SellCaffe(name string)*Caffe
}
//國貨之光咖啡店
type Guohuozhiguang struct{
}
func(g *Guohuozhiguang)MakeCaffe(name string)*Caffe{
	return &Caffe{Name:name}
}
func(g *Guohuozhiguang)SellCaffe(name string)*Caffe{
	return g.MakeCaffe(name)
}
func main(){
	caffeShop :=&Guohuozhiguang{}
	caffe := caffeShop.SellCaffe("america")
}

總結

外觀模式即是一種對一些對象的邏輯抽象使其訪問者更加簡單,就像去買東西,不需要關係東西是怎麼製造的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章