首页/开发/代码质量与评审速查/抽象工厂 Abstract Factory(创建型)
设计原则与模式62 条

抽象工厂 Abstract Factory(创建型)

创建一族相关产品(同一风格的按钮 + 输入框 + 滚动条):产品族内保证一致,风格切换只换工厂实现;产品种类增加时接口需同步扩展,注意这一耦合。

意图一致产品族的创建接口
适合多套外观/驱动/方言并存
代价新增产品种类要改所有工厂

结构示意

结构示意
interface GuiFactory {
    Button button();
    Checkbox checkbox();
}
class MacFactory implements GuiFactory { ... }
class WinFactory implements GuiFactory { ... }

易错点

  • 产品族只有一套:抽象层属于过度设计
  • 族内产品可以跨风格混用:一致性保证被绕过

数据来源与参考

  • 《设计模式》(GoF)· Abstract Factory
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌