设计模式实例研究-设计一个文档编辑器全解.ppt

设计模式实例研究-设计一个文档编辑器全解.ppt

通过在Wi n d o w I m p类中隐藏实现,我们避免了对窗口系统的直接依赖,这可以让Wi n d o w类层次保持相对较小并且较稳定。同时我们还能方便地扩展实现层次结构以支持新的窗口系统。 1. Wi n d o w I m p的子类 Wi n d o w I m p的子类将用户请求转变成对特定窗口系统的操作。考虑我们在2 . 2节所用的例子,我们根据Wi n d o w实例的D r a w R e c t操作定义了Rectangel : : Draw: D r a w R e c t的缺省实现使用了Wi n d o w I m p定义的画出矩形的抽象操作: 这里_ i m p是Wi n d o w的成员变量,它保存了设置Wi n d o w的Wi n d o w I m p。窗口的实现是由 _ i m p所指的Wi n d o w I m p子类的实例定义的。对于一个X Wi n d o w I m p (即X窗口系统的Wi n d o w I m p子类),D e v i c e R e c t的实现可能如下: D e v i c e R e c t这样做是因为XDrawRectangle(在X系统中画矩形的接口)是根据矩形的左下顶点、宽度和高度定义矩形的, D e v i c e R e c t必须根据参

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档