|
案例 在Self UI系统中,任何一个图形对象都可被组合(嵌入)来创建组合式结构。Window NT 把目录结构表示成组合对象。
结果 GUI组合模式有如下优缺点:
+用户既可以操纵整个对象,也可以操纵其中的一部分。
+通用操作的接口是一致的。
-很难把特殊的一部分从整体中独立出来。
已知应用 Macintosh 和Windows95界面使用组合对象来代表目录结构。MacDraw和许多其他图像编辑器通过显式分组和非分组图形对象来创建组合对象。
GUI 代理(Proxy)结构式对象
目的 提供一个代理或放置地以方便另一个对象来存取。 问题 某些对象从来不在用户想要的地方。比如,用户想要存储目录结构下很深的一个文件,想让它很容易存取。或者用户希望下载一个网页,放弃任何包含的图像而保持文档结构不变。一个对象如何才能同时出现在两个地方呢?
约束 GUI代理模式解决了如下约束:
· 用户想要一个对象同时出现在两个地方。
· GUI对象识别要求一个对象只能出现在一个地方
· 你不想改变或移动原始对象。
· 原始对象的检索很困难或很昂贵。
· 用户界面应当一致。
解决方案 创建一个代理对象来代表远程或昂贵的对象。把代理对象放在你想要放原始对象的地方,但不能让代理象原始对象一样操作,而是可视地把代理同原始对象区别开来。
|