设计模式笔记之 - Visitor

       Visitor模式系列允许在不更改现有类层次结构的情况下向其中增加新方法。

       看下图,以驱动多个Modem和多个操作系统为例,可知基本的Visitor模式:

       分析此图可知三种Modem继承至Modem接口,Modem持有Accept方法,此方法意在调用ModemVisitor接口的Visit方法,这样就形成一个矩阵,一个是多Modem一个是多操作系统的支持。从次图可以看出,UnixModemConfigurator调用接口函数即可制定某个Modem的操作,如果需要扩展其他操作系统的支持,只需要派生其他的ModemVisitor即可。

       Visitor模式是有诱惑力的,在它们面前很容易失去自制力,如果有用就去用它们请对它们保持健康的怀疑,通常可以用Visitor解决的问题往往也可以用更简单的方法解决。

 

posted on 2005-09-24 12:29  dragonpro  阅读(362)  评论(0编辑  收藏  举报

Free Web Counter