Head First设计模式---策略、观察者模式
来源:互联网 发布:华为网络培训视频 编辑:程序博客网 时间:2024/05/22 18:01
为了加深理解,我试着用英雄联盟中的场景去描述涉及模式,更有趣一些o(∩_∩)o…哈哈
“把模式装进脑子里,然后在你的涉及和已有的应用中,寻找何处可以使用它们” —以往是把代码复用,现在是把经验复用。
**
策略模式
**
“定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。”
设计原则:
把代码中可能会变化的部分独立封装起来,避免对其他不变部分产生影响
将行为作为成员变量引入需要调用该行为的类,通过set方法动态的改变将要使用的行为。
观察者模式
观察者模式中的两个主体是 观察者(Observer) 和 可观察者(又称主题)
当主题发生变化时,所有的观察者都会收到通知。
以LOL为例
所有的游戏数据变化如击杀、死亡、血量装备变化都会在玩家的屏幕上展示,这里玩家就是观察者,系统作为主题。
当玩家进入一盘游戏时,相当于注册成为了系统的观察者,当游戏数据发生变化时,系统以声音、图像的形式推送给玩家。—–主题可以推送数据给观察者
除了系统推送给玩家的信息,玩家也可以主动获取系统中的数据(点击tab查看双方英雄人头数)——观察者可以从主题中拉数据
不想玩退出游戏——当玩家不想再当观察者时调用主题的 删除方法就可以了
JAVA中内置了观察者模式,java.util包中包含了Observer接口和Observable**类** 对应观察者和主题,我们可以使用推或拉的方式传送数据。
主题中的数据,加上getter/sertter方法就可以拉了。。。
0 0
- Head First设计模式---策略、观察者模式
- head first 设计模式:观察者模式1
- Head First设计模式-观察者模式
- 《Head First 设计模式》观察者模式
- Head First 设计模式笔记--观察者模式
- 《Head First 设计模式》之观察者模式
- Head First 设计模式2 观察者模式
- 《Head First 设计模式》之观察者模式
- <Head First 设计模式>:观察者模式--Weather
- Head First设计模式—观察者模式
- 【Head First设计模式-读书笔记】观察者模式
- Head First 设计模式-观察者模式
- 《Head First设计模式》 - 观察者模式
- head first设计模式之观察者模式
- Head First-设计模式:观察者模式
- head first 设计模式之---------观察者模式
- 读书笔记---Head First 设计模式--- 观察者模式
- Head First设计模式:观察者模式
- 2010年中国文化遗产日主场城市活动在苏州落幕
- mysql 5.6参数列表
- 李娜 醒世咏
- 新浪微博第三方登录1:申请接入(OAuth2.0协议)
- 指令、伪指令和宏指令
- Head First设计模式---策略、观察者模式
- statfs获取硬盘使用情况函数详解
- MCS-51单片机,编程序,计算分段函数的函数值
- 单片机89S51,4×4矩阵键盘,控制16个发光二极管
- 利用定时方式0,测量外部脉冲宽度(5到250ms),74HC595输出显示
- 关于MCS-51单片机实现PWM的方法
- Linux防火墙限制指定端口只能由指定IP访问
- Spring MVC启动及其原理
- typedef 的作用域