设计模式|创造性模式之抽象工厂模式

抽象工厂模式:(主要处理的是对象之间的依赖问题)
Abstract factory pattern(抽象工厂模式)
抽象工厂模式提供了一种方法来封装具有共同主题的一组独立工厂,而无需指定它们的具体类
在正常使用中,客户端软件创建抽象工厂的具体实现,然后使用工厂的通用接口创建作为主题一部分的具体对象。
客户机不知道(或不关心)它从这些内部工厂中获得的具体对象,因为它只使用产品的通用接口
此模式将一组对象的实现细节与其一般用法分离,并依赖于对象组合,因为对象创建是在工厂接口中公开的方法中实现的
使用模式的目的是将对象的创建与它们的使用隔离开来,并创建相关对象的系列,而不必依赖于它们的具体类
使用这种模式可以在不更改使用它们的代码的情况下交换具体的实现,即使是在运行时。(★)
描述:
提供一个接口,用于创建相关或依赖对象的系列,而无需指定它们的具体类。
缺点:
使用这种模式,就像使用类似的设计模式一样,可能会导致在代码的初始编写过程中产生不必要的复杂性和额外的工作。此外,更高级别的分离和抽象可能导致更难于调试和维护的系统
抽象的工厂设计模式解决了以下问题:
应用程序如何独立于其对象的创建?
一个类如何独立于它所需要的对象是如何创建的?
如何创建相关或依赖对象的族?
抽象的工厂设计模式描述了如何解决这些问题:
将对象创建封装在一个单独的(工厂)对象中。也就是说,定义用于创建对象的接口(AbstractFactory)并实现接口。
类将对象创建委托给工厂对象,而不是直接创建对象。
本质:
抽象工厂模式的本质是“为创建相关或依赖对象的系列提供一个接口,而无需指定它们的具体类”。
工厂确定要创建的对象的实际具体类型,但是,工厂只返回到创建的具体对象的抽象指针。通过让客户端请求工厂对象创建所需抽象类型的对象并返回到对象的抽象指针,这将客户端代码与对象创建隔离开来
具体创建的是哪个实体是由工厂来决定,与客户端无关
【设计模式|创造性模式之抽象工厂模式】原文链接地址:https://en.wikipedia.org/wiki/Abstract_factory_pattern

    推荐阅读