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)
}

  

 

!!!产品族难扩展,产品等级易扩展。

posted @ 2017-12-26 23:43  漫步小路  阅读(201)  评论(0编辑  收藏  举报