智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...

导航

访问者模式(Visitor)

Posted on 2009-11-23 14:52  Bill Yuan  阅读(278)  评论(0编辑  收藏  举报
只要愿意,我随时都可以跑到哪个窗口打要吃的东西,前提是,我必须跑这一趟。

举例:我说过,我的所有mc都继承自BasicMovie这个类,但不是我的所有mc都要从后来获取数据库数据。获取数据库数据所要访问的信息,比如 ip,路径,文件保存在配置文件里,初始化的时候读入内核,并且只有内核那里有一份。在BasicMovie里加入对这些全局变量的引用是不合适的,因为只有少数mc要用到,而且由于某些原因我无法再使用桥接模式(我已经有了SubTemplateMovie,不能多继承),所以我用了访问者模式。

BasicMovie.as
    
//获取全局变量
    function GetGlobalParam() {
        GlobalParam
=_root.objCore.strucGlobalParam;
}

如果上级mc不执行这个函数,是不能获取全局变量的,如果要用,就执行。
也就是说,需要的时候,我去访问它。

备注:声明一个visit操作,使得访问者可以正确访问需要的类。