Go设计模式之AbstractFactory
抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。
//例子是和上一次的工厂模式的扩展
package main //定义一个抽象接口 type AbstractFactory interface { Produce() car } type BzFactory struct{ } //从这里和下面的那个方法 可以看出来都是同car 这也引出了下面的注意事项 扩展商品难 func (BzFactory) Produce() car { return new(bc) } type DzFactory struct { } func (DzFactory) Produce() car { return new(dz) }
!!!产品族难扩展,产品等级易扩展。