シーン
ボス:ユニバーサルファクトリを設計します。現在、製品AとBを生産でき、将来的にC、Dを生産する可能性があります...これらの製品は同じ製品ファミリに属しています。
あなた:良いボス、次に抽象ファクトリモデルを使用します。
プログラム
製品は時間の経過とともに増加します。これらの製品は同様の属性を持っています。これらを製品ファミリと呼ぶことができます。抽象ファクトリ(つまり、同じ製品ファミリを生成できるユニバーサルファクトリ)を使用してこの問題を解決し、コードで次のことができるようにします。無制限の拡張である
成し遂げる
参照:github
package main
import "fmt"
type Product string
type AbstractFactory interface {
createA() Product
createB() Product
}
type Factory struct {
}
func (*Factory) createA() Product {
fmt.Println("生产A")
return Product("A")
}
func (*Factory) createB() Product {
fmt.Println("生产B")
return Product("B")
}
func main() {
fmt.Println("从万能工厂那生产所有产品")
fmt.Println("好的,老板")
var f AbstractFactory
f = &Factory{
}
f.createA()
f.createB()
}