• 抽象工厂模式

维基百科

  • 抽象工厂模式(Abstract factory pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。抽象工厂模式将一组对象的实现细节与它们的一般使用分离开来。
  • 一个工厂中创建的每个对象都是同一个主题(fancy modern)
  • 工厂,是创建产品(对象)的地方,其目的是将产品的创建与产品的使用分离。抽象工厂模式的目的,是将若干抽象产品的接口与不同主题产品的具体实现分离开。这样就能够在增加新的具体工厂的时候,不用修改抽象工厂的客户端代码。
  • 使用抽象工厂模式,能够在具体工厂变化的时候,不用修改使用工厂的客户端代码,甚至是在运行时。然而,使用这种模式或者相似的设计模式,可能给编写代码带来不必要的复杂性和额外的工作。正确使用设计模式能够低效这样的额外工作。

抽象工厂模式的定义

  • 抽象工厂模式的实质是提供接口,创建一系列相关或者独立的对象,而不指定这些对象的具体类。

抽象工厂模式的使用

  • 具体的工厂决定了创建对象的具体类型,而且工厂就是对象实际创建的地方(例如在C++中,用new操作符创建对象)。然而,抽象工厂只返回一个指向创建的对象的抽象引用(或指针)
  • 这样,客户端程序调用抽象工厂引用的方法,由具体工厂完成对象创建,然后客户端程序得到的是抽象产品的引用。如此使客户端代码与对象的创建分离开来