正在加载图片...
抽象工厂(二) 动机 窗口和按钮等用户界面“窗口组件”定义不同的外观 和行为。为保证视感风格标准间的可移植性,一个应用不应该为 一个特定的视感外观硬编码它的窗口组件。在整个应用中实例化 特定视感风格的窗口组件类将使得以后很难改变视感风格。 为解决这二问题我们可以定义一个抽象的WidgetFactory类,这 个类声明了一个用来创建每一类基本窗口组件的接口。每一类窗 口组件都有一个抽象类,而具体子类厕实现了窗口组件的特定视 感风格。对于每二个抽象窗口组件类,、NidgetFactory接口都有 个返回新窗口组件对象的操作。客户调用这些操作以获得窗口 组件实例,但客户并不知道他们正在使用的是哪些具体类。这样 客户就不依赖宇一般的视感风格,如下页图所示。 Object Oriented Analysis and Design 10Object Oriented Analysis and Design 10 抽象工厂(二) w 动机 考虑一个支持多种视感( look - and - feel)标准的用户界面工 具包,例如Motif和Presentation Manager。不同的视感风格为 诸如滚动条、窗口和按钮等用户界面“窗口组件”定义不同的外观 和行为。为保证视感风格标准间的可移植性,一个应用不应该为 一个特定的视感外观硬编码它的窗口组件。在整个应用中实例化 特定视感风格的窗口组件类将使得以后很难改变视感风格。 为解决这一问题我们可以定义一个抽象的WidgetFactory类,这 个类声明了一个用来创建每一类基本窗口组件的接口。每一类窗 口组件都有一个抽象类,而具体子类则实现了窗口组件的特定视 感风格。对于每一个抽象窗口组件类, WidgetFactory接口都有 一个返回新窗口组件对象的操作。客户调用这些操作以获得窗口 组件实例,但客户并不知道他们正在使用的是哪些具体类。这样 客户就不依赖于一般的视感风格,如下页图所示
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有