php設計模式(11)觀察者模式

編程語言 PHP 設計模式 PHP在路上 2017-03-29

喜歡就關注,支持我,謝謝

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代碼示例-使用

相關推薦

推薦中...