課程
/后端開發
/PHP
/大話PHP設計模式
雖然知道怎么用了,但是在什么樣的場景下會用到呢?
<?php //?雖然知道怎么用了,但是在什么樣的場景下會用到呢?
2015-03-04
源自:大話PHP設計模式 14-6
正在回答
?*?場景描述: ?*?以購票為核心業務(此模式不限于該業務),但圍繞購票會產生不同的其他邏輯,如: ?*?1、購票后記錄文本日志 ?*?2、購票后記錄數據庫日志 ?*?3、購票后發送短信 ?*?4、購票送抵扣卷、兌換卷、積分 ?*?5、其他各類活動等 ?* ?*?傳統解決方案: ?*?在購票邏輯等類內部增加相關代碼,完成各種邏輯。 ?* ?*?存在問題: ?*?1、一旦某個業務邏輯發生改變,如購票業務中增加其他業務邏輯,需要修改購票核心文件、甚至購票流程。 ?*?2、日積月累后,文件冗長,導致后續維護困難。 ?* ?*?存在問題原因主要是程序的"緊密耦合",使用觀察模式將目前的業務邏輯優化成"松耦合",達到易維護、易修改的目的, ?*?同時也符合面向接口編程的思想。 ?* ?*?觀察者模式典型實現方式: ?*?1、定義2個接口:觀察者(通知)接口、被觀察者(主題)接口 ?*?2、定義2個類,觀察者對象實現觀察者接口、主題類實現被觀者接口 ?*?3、主題類注冊自己需要通知的觀察者 ?*?4、主題類某個業務邏輯發生時通知觀察者對象,每個觀察者執行自己的業務邏輯。
這是一個應用場景的舉例。其他的你去搜一下吧,很多的。
舉報
幫助PHPer具備使用設計模式解決工程中復雜邏輯的能力
2 回答PHP設計模式的觀察者模式, 添加事件觀察
3 回答觀察者模式的疑問
4 回答觀察者模式重復調用問題
3 回答觀察者模式使用場景--php設計模式(http://www.xianlaiwan.cn/video/5037)
1 回答請問觀察者模式和裝飾器模式有什么異同?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-03-04
這是一個應用場景的舉例。其他的你去搜一下吧,很多的。