| 意图 | 一致产品族的创建接口 |
|---|---|
| 适合 | 多套外观/驱动/方言并存 |
| 代价 | 新增产品种类要改所有工厂 |
结构示意
结构示意
interface GuiFactory {
Button button();
Checkbox checkbox();
}
class MacFactory implements GuiFactory { ... }
class WinFactory implements GuiFactory { ... }创建一族相关产品(同一风格的按钮 + 输入框 + 滚动条):产品族内保证一致,风格切换只换工厂实现;产品种类增加时接口需同步扩展,注意这一耦合。
| 意图 | 一致产品族的创建接口 |
|---|---|
| 适合 | 多套外观/驱动/方言并存 |
| 代价 | 新增产品种类要改所有工厂 |
interface GuiFactory {
Button button();
Checkbox checkbox();
}
class MacFactory implements GuiFactory { ... }
class WinFactory implements GuiFactory { ... }