由於昨天成為一日搬家工,比賽就被中斷了😭,不過我們主要目的是學成golang所以我們就繼續吧!
中文為工廠模式,作為建立新物件的唯一接口。在使用的場景中通常會有三種角色:
當開發人員無法確定欲建立類別的具體型別及依賴關係,就可使用工廠模式進行開發,減少 coupling (耦合)。
package Factory
type Factory interface {
FactoryMethod(owner string) Product
}
package Factory
type ConcreteFactory struct {
}
func (cf *ConcreteFactory) FactoryMethod(owner string) Product {
p := &ConcreteProduct{}
return p
}
package Factory
type Product interface {
Use()
}
package Factory
import "fmt"
type ConcreteProduct struct {
}
func (p *ConcreteProduct) Use() {
fmt.Println("Use Concrete Product")
}
工廠模式是一種創建型模式,用於建立新物件的唯一接口,它幫助降低系統的耦合度。通過三種主要的角色(工廠、工廠實體、產品介面和產品),它使得物件創建更為靈活和可管理。這樣的模式對於應對系統擴展或修改具有一定的靈活性
在程式碼部分,使用Golang語言實作了工廠模式的基本框架。這包括了工廠和產品的介面(Factory 和 Product),以及如何實作這些介面的類別(ConcreteFactory 和 ConcreteProduct)。
這是關聯的指標,用來闡述介面以及實作端的關係,箭頭指向的地方就是實作端要實作介面
這是關聯的指標,用來闡述當一個物件裡包含了另一個物件的關係,箭頭指向的地方是被包含的物件