Corak Kilang Dalam Go, corak kilang membenarkan penciptaan objek tanpa menentukan kelas konkrit: tentukan antara muka (seperti Bentuk) yang mewakili objek. Buat jenis konkrit (seperti Bulatan dan Segi Empat) yang melaksanakan antara muka. Cipta kelas kilang untuk mencipta objek daripada jenis tertentu (cth. ShapeFactory). Gunakan kelas kilang untuk mencipta objek dalam kod klien. Corak reka bentuk ini meningkatkan fleksibiliti kod tanpa gandingan terus kepada jenis konkrit.
Pengenalan
Corak kilang ialah corak reka bentuk yang membolehkan kita mencipta objek tanpa menentukan kelas konkrit. Ini boleh dicapai dengan mencipta kelas kilang yang bertanggungjawab untuk mencipta dan mengembalikan contoh objek dengan antara muka tertentu.
Pelaksanaan
Di Golang, kita boleh mencipta corak kilang menggunakan antara muka{}
dan type
. Pertama, kita perlu menentukan antara muka untuk mewakili objek yang akan kita buat. Mari kita buat kilang bentuk sebagai contoh: interface{}
和 type
创建工厂模式。首先,我们需要定义一个接口来表示我们将创建的对象。让我们以创建一个形状工厂为例:
type Shape interface { Area() float64 Perimeter() float64 }
接下来,我们需要创建具体形状的类型,它们实现了 Shape
type Circle struct { radius float64 } func (c *Circle) Area() float64 { return math.Pi * c.radius * c.radius } func (c *Circle) Perimeter() float64 { return 2 * math.Pi * c.radius }
Shape
: type Rectangle struct { length float64 width float64 } func (r *Rectangle) Area() float64 { return r.length * r.width } func (r *Rectangle) Perimeter() float64 { return 2 * (r.length + r.width) }
type ShapeFactory struct{} func (f *ShapeFactory) CreateShape(shapeType string) Shape { switch shapeType { case "circle": return &Circle{} case "rectangle": return &Rectangle{} default: return nil } }
factory := &ShapeFactory{} circle := factory.CreateShape("circle") circle.radius = 5 fmt.Println("Circle area:", circle.Area()) rectangle := factory.CreateShape("rectangle") rectangle.length = 10 rectangle.width = 5 fmt.Println("Rectangle area:", rectangle.Area())
Circle area: 78.53981633974483 Rectangle area: 50
rreee
Dengan menggunakan corak kilang, kita dapat mencipta objek bentuk tanpa menyatakan bentuk tertentu. Ini menjadikan kod kami lebih fleksibel dan boleh diselenggara. 🎜Atas ialah kandungan terperinci Cara mengaplikasikan corak kilang di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!