大家好,我是馆长!从今天开始馆长开始对java设计模式的创建型模式中的单例模式、原型模式、工厂方法、抽象工厂、建造者的抽象工厂模式进行讲解和说明。
抽象工厂模式(Abstract Factory Pattern)
定义
是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。客户端可以通过工厂接口来创建一族产品。
满足以下条件
·系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品。
·系统一次只可能消费其中某一族产品,即同族的产品一起使用。
优点
·可以在类的内部对产品族中相关联的多等级产品共同管理,而不必专门引入多个新的类来进行管理。
·当增加一个新的产品族时不需要修改原代码,满足开闭原则。
缺点