设为首页|收藏学知识 |改版意见收集|智能DIY搜索|加入我们|网站地图
当前在线人数:8770
文化共享 好教程 易学习 新资讯
计算软件水平考试

用GOF模式设计GUI(2)

2007-04-29 源自: 网友评论 共有( )条评论! 内容报错
本文章地址:http://kao.xuezhishi.net/ITtest/level/2007-04-29/23272.html [将本信息与朋友分享!]

                     

  GUI 单体(Singleton)创建型模式

  目标 确保一个类只有一个实体,同时提供能够作为全局变量使用 问题 一些类应该恰好只有一个实体。例如,代表真实硬件资源的对象,如硬盘,打印机,网络,特殊的系统对象如垃圾桶,在任何一个GUI中都应该只有一个。你该如何管理这些独一无二的对象呢?

  约束 GUI Singleton 模式解决了以下约束:

  · 这些对象应该只有一个实体。

  · 单个实体应该能够容易找得到。

  · 用户界面应当一致。

  · 屏幕资源是有限的。

  解决方案 创建一个Singleton 对象,设计类使得用户不能拷贝或删除对象。GUI启动时就创建它,把它放到屏幕上(通常是桌面),这样它总是容易找到。

  案例 WINDOWS95里面的垃圾桶是一个Singleton。它没有大多数对象提供的删除和重命名命令。

  结果 GUI Singleton 模式有如下优缺点:

  +只有一个单体实体能被创建

  +单体很容易在桌面上找到

  +单体具有象其他对象一样的行为

  GUI 适配器(Adaptor)结构型对象 目标 把一个类的接口转成使用者期望的接口。,适配器模式让接口不兼容的类可以协同工作。 问题 每个接口有他们自己的世界,都有自己的文化,语言,样式。 使用者经常需要保有好几个世界。例如,当使用从GUI桌面继承下来的框架应用,或从另外一个桌面使用这个桌面。用户如何使用不兼容接口呢?

  约束 GUI Adaptor 模式解决了以下约束:

  · 用户需要使用有不兼容接口的对象
  · 你不想改变这个接口

  · 用户界面应当保持一致

  解决方案 创建一个适配器对象,这个对象包容了另一个对象的接口。适配器是有主接口的正常对象,包容了被包含的接口。用户可以通过适配器与被包容的接口交互。适配器通常还提供了带外(out-of-band)操作来控制两个接口之间的连接。 案例 Window NT 接口可以适配以便在 X Windows 系统下运行(Tektronix菜单条控制适配器)。Windows NT 可以 通过终端模拟器来容纳文本式应用程序。

      

 

  结果 GUI 适配器模式有如下优缺点:

  +可以通过主接口来使用被包容的接口

  +两个接口都无需改变

  +通用适配器可以适配一系列接口,比如所有的文本应用程序。

  -如果适配器中未遵循主接口的习惯用法,会导致用户接口不一致

   

  已知应用 大多数GUI通过终端模拟器来支持文本式应用程序。Windows 和Macintosh界面可以适配运行在X系统中,或者相反。网页浏览器把www用户界面适配到范围很广的主界面。

  参看 一个老式的包装器(Wrapper)是这种模式的更通用的形式。

  GUI 组合(Composite)结构型对象

  目的 把对象组合成树状机构来代表部分-整体层级。组合模式可以让用户统一对待单个对象和对象的组合。

  问题 许多GUI对象是由其他GUI对象递归组成的。比如,磁盘包含了目录,目录又包含其他目录和文件。用户应该如何操纵这些组合对象?

  约束 GUI组合模式解决了如下约束:

  · 用户需要控制整个组合对象

  · 用户需要控制组合对象中的单个部分。

  · 用户界面应当一致

  解决方案 创建能够递归包含其他对象的组合式对象,包括组合对象和原始对象。为所有由原始对象和组合对象共享的操作建立一个共同类。具体对象应继承于这个类,并扩展以提供它们自己的操作。

http://kao.xuezhishi.net/ITtest/level/2007-04-29/23272.html
评论 点击查看
 


加入QQ群:35714363 一起成长
我要加入更多群 我有意见要反映
考试教室

学知识原创教程下载

本类最近更新
阅读排行

其他相关信息