Abstract Factory模式,将具体的产品封装在具体Factory实现中,而客户只需要和Factory以及产品的抽象界面打交道,避免依赖于具体的Factory与产品,由于Factory封装了所有产品细节,所以要更换掉所有的组件,只要简单的抽换掉Factory就可以 了,不用修改客户端。例如,要制作一个跨平台的窗口程序,窗口由一系列控件组成,比如菜单,工具栏,按钮,滚动条等。为简化起见,设这个窗口只有菜单和工具栏。则程序如下:
运行:
CWindowsMenu ShowMenu
CWindowsToolBar ShowToolBar
Abstract Factory结构图如下:

本文介绍抽象工厂模式的应用,通过创建跨平台窗口程序的例子展示了如何利用该模式实现客户端与具体产品解耦,使得更换不同平台的组件变得简单。通过具体工厂类生成特定系统的菜单和工具栏。
1311

被折叠的 条评论
为什么被折叠?



