意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。
抽象工厂模式重点在于“一系列”,即多个对象之间存在某种联系或者是组成一个整体的各个部分。通常在抽象工厂的实现过程中,采用工厂方法模式对每个单独的对象进行抽象。
抽象工厂模式将一系列对象的构造行为抽象出来,这样可以很容易的在多个系列之间进行切换。例如一个游戏有三个Boss,每个boss都有特定的攻击方式和防守动作。这个游戏分为简单,普通,困难模式,那么就可以使用抽象工厂模式对这个系统建模,只要用户选择了特定的难度之后,就采用选定的难度的工厂去创建一系列的Boss出来。而单个Boss的攻击和防守行为则可以工厂方法模式来建模,实现不同的伤害值和防御值等等。