打字猴:1.700469736e+09
1700469736 设计模式之禅 [:1700454023]
1700469737 设计模式之禅 22.5 最佳实践
1700469738
1700469739 观察者模式在实际项目和生活中非常常见,我们举几个经常发生的例子来说明。
1700469740
1700469741 ❑文件系统
1700469742
1700469743 比如,在一个目录下新建立一个文件,这个动作会同时通知目录管理器增加该目录,并通知磁盘管理器减少1KB的空间,也就说“文件”是一个被观察者,“目录管理器”和“磁盘管理器”则是观察者。
1700469744
1700469745 ❑猫鼠游戏
1700469746
1700469747 夜里猫叫一声,家里的老鼠撒腿就跑,同时也吵醒了熟睡的主人,这个场景中,“猫”就是被被观察者,老鼠和人则是观察者。
1700469748
1700469749 ❑ATM取钱
1700469750
1700469751 比如你到ATM机器上取钱,多次输错密码,卡就会被ATM吞掉,吞卡动作发生的时候,会触发哪些事件呢?第一,摄像头连续快拍,第二,通知监控系统,吞卡发生;第三,初始化ATM机屏幕,返回最初状态。一般前两个动作都是通过观察者模式来完成的,后一个动作是异常来完成。
1700469752
1700469753 ❑广播收音机
1700469754
1700469755 电台在广播,你可以打开一个收音机,或者两个收音机来收听,电台就是被观察者,收音机就是观察者。
1700469756
1700469757
1700469758
1700469759
1700469760 设计模式之禅 [:1700454024]
1700469761 设计模式之禅 第23章 门面模式
1700469762
1700469763 设计模式之禅 [:1700454025]
1700469764 23.1 我要投递信件
1700469765
1700469766 我们都写过纸质信件吧,比如给女朋友写情书什么的。写信的过程大家应该都还记得——先写信的内容,然后写信封,再把信放到信封中,封好,投递到信箱中进行邮递,这个过程还是比较简单的,虽然简单,但是这4个步骤都不可或缺!我们先把这个过程通过程序实现出来,如图23-1所示。
1700469767
1700469768
1700469769
1700469770
1700469771 图23-1 写信过程类图
1700469772
1700469773 这一个过程还是比较简单的,我们看程序的实现,先看接口,如代码清单23-1所示。
1700469774
1700469775 代码清单23-1 写信过程接口
1700469776
1700469777 public interface ILetterProcess{
1700469778
1700469779 //首先要写信的内容
1700469780
1700469781 public void writeContext(String context);
1700469782
1700469783 //其次写信封
1700469784
1700469785 public void fillEnvelope(String address);
[ 上一页 ]  [ :1.700469736e+09 ]  [ 下一页 ]