最新消息:

php设计模式(11)观察者模式

PHP PHPzailushang 57浏览 0评论

喜欢就关注,支持我,谢谢

php设计模式(11)观察者模式

PHP设计模式-观察者设计模式

前言

今天我们开始一起聊一聊关于行为型设计模式-观察者模式。

内容概要:

1、什么是观察者模式

2、UML图

3、优点

4、怎么实现观察者模式+代码示例

一、什么是观察者模式

当一个对象状态发生改变时,依赖它的对象全部会受到通知,并自动更新。这里涉及四个角色,分别是:

1、抽象主题角色:首先它是一个接口,负责提供增加和删除观察者对象,其次,它保存了所有的对象引用,对观察者的引用。每一个主题可以有多个观察者。

2、具体主题:它是一个具体子类的实现,存储具体观察者对象的相关状态,当具体主题内部状态改变,给观察者通知。

3、抽象观察者:首先,他是一个接口,规定观察者必须实现的方法,并在观察主题发生改变时,将自己某些状态进行更新。

4、具体观察者:粗出具体主题对象和相关的状态,实现抽象观察者的接口,并实现update方法,使其自身状态与主题状态同步。

二、UML图

php设计模式(11)观察者模式

三、优点:

低耦合,非侵入式编码,更新更方便

观察者和主题之间的耦合度较小;

这一节,我不举例子,有问题,我们评论上见,哈哈。

四、怎么实现观察者模式 代码示例

不废话,上PHP代码:

php设计模式(11)观察者模式

PHP代码示例-抽象主题

php设计模式(11)观察者模式

PHP代码示例-具体主题示例

php设计模式(11)观察者模式

PHP代码示例-抽象观察者和具体观察者

php设计模式(11)观察者模式

PHP代码示例-使用

转载请注明:PHP学习 » php设计模式(11)观察者模式

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址