• 设计模式之observer and visitor


    很长时间一直对observer(观察者)与visitor(访问者)有些分不清晰。

    今天有时间进行一下梳理:

    1.observer模式

    这基本就是一个通知模式,当被观察者发生改变时,通知所有监听此变化的观察者。

    MVC、消息队列等等设计有此思想。

    在被观察者中,都会存储一个及以上的的观察者名单(映射)

    2.visitor模式

    访问者模式,主要的解决问题是,通过多态的方式解决,不同的被访问者将会体现不同的形态。

    当然这个时候不同于observer模式的观察者名单,而是用不同的接口(接口参数是观察者实现类),

    这样就会出现,扩展复杂,甚至是破坏封装(相互之间将会调用对方的私密属性等等)但是和其他模式一起使用就会事半功倍。

  • 相关阅读:
    oracle 安装
    C++中 接口的定义 COM
    linux查看及改变运行级别
    BSD Apache GPL LGPL MIT
    DES MAC PIN HEX
    c语言字符输出格式化
    oracle
    Windows C++ 子目录数量
    GetProcAddress 宏
    How do I install Adobe Flash on Debian Wheezy?
  • 原文地址:https://www.cnblogs.com/gaozhichao/p/5431905.html
Copyright © 2020-2023  润新知