博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
观察者模式------《Head First 设计模式》
阅读量:4685 次
发布时间:2019-06-09

本文共 470 字,大约阅读时间需要 1 分钟。

第二章---观察者模式

xzmxddx

  学习方式:书籍《Head First 设计模式》,这本书通俗易懂,所有知识点全部取自本书。

面向对象设计原则

  • 封装变化
  • 多用组合,少用继承
  • 针对接口编程,不针对实现编程
  • 为交互对象之间的松耦合设计而努力
  • 类应该对扩展开放,对修改关闭
  • 依赖抽象,不要依赖具体类
  • 只和朋友交谈
  • 别找我,我会找你
  • 类应该只有一个改变的理由

 

一、定义

  观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新

 

  我的理解:举个例子,微信公众号(主题)推送给每个已经关注的用户(观察者),微信公众号推送文章,所有已经关注的用户都会自动收到通知。

 

二、UML类图

  在这里,我使用天气站(主题)推送天气信息到显示牌(观察者)的例子,一个天气站对应多个显示牌,并且每当天气情况更新,显示牌都会收到通知。

  策略模式不够精简,这里我将部分不需要的类直接合并:

 

  

 

转载于:https://www.cnblogs.com/xzmxddx/p/8994862.html

你可能感兴趣的文章
使用BufferedReader的时候出现的问题
查看>>
linux安装图形界面
查看>>
Android广播发送失败
查看>>
博弈论之入门小结
查看>>
解决IE8下opacity属性失效问题,无法隐藏元素
查看>>
C#匿名函数的坑
查看>>
标记页面控件尺寸
查看>>
批处理文件中的路径问题
查看>>
appium+python 环境搭建
查看>>
WampServer下修改和重置MySQL密码
查看>>
hibernate出现No row with the given identifier exists问题
查看>>
为什么wait()和notify()属于Object类
查看>>
Part2_lesson3---ARM寄存器详解
查看>>
深入理解vsto,开发word插件的利器
查看>>
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同!
查看>>
导入properties时的坑
查看>>
python——网络编程
查看>>
Spark的39个机器学习库
查看>>
Electron学习笔记(一)
查看>>
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
查看>>