PHP設計模式之結(jié)構(gòu)模式的深入解析
結(jié)構(gòu)模式之間有許多相似之處,因為在對象模型結(jié)構(gòu)中存在幾種關(guān)系:類之間的繼承和實現(xiàn),加上對象組合,這些是PHP設計模式的主要目的。
對象組合的最大優(yōu)勢在于可以在運行時基于配置建立起一個關(guān)系,并不用修改實際的代碼,它是類繼承和接口實現(xiàn)需要的一個操作。實際上,你完全可以通過修改對象之間而非類之間的鏈接定義一個應用程序的功能,這是設計的一部分。
結(jié)構(gòu)模式清單
適配器-橋接-外觀(Adapter-Bridge-Facade)
這三個模式的目標是競爭耦合:
◆適配器模式(Adapter)使用不同的接口連接對象;
◆橋接模式(Bridge)將一個M抽象層和一個N實現(xiàn)層分離成N+M類,代替M*N用法;
◆外觀模式(Facade)創(chuàng)建一個新的統(tǒng)一的界面來訪問子系統(tǒng)。
復合-裝飾-代理(Composite-Decorator-Proxy)
這三個模式維護相同的對象接口,它們透明地添加正交關(guān)注,客戶端不會察覺:
◆復合模式為其它對象增加容器組織層次結(jié)構(gòu),并將樹作為其它樹的葉子進行重用;
◆裝飾模式通過攔截方法授權(quán)添加行為,避免引入大量的子類;
◆代理模式給一個還不存在或很難訪問的對象授權(quán)操作。
最后,享元模式(Flyweight)是一個無身份的ValueObjects標準實現(xiàn)。
相關(guān)文章
關(guān)于PHP自動判斷字符集并轉(zhuǎn)碼的詳解
本篇文章是對PHP自動判斷字符集并轉(zhuǎn)碼進行了詳細的分析介紹,需要的朋友參考下2013-06-06
PHP curl模擬瀏覽器采集阿里巴巴的實現(xiàn)代碼
都說阿里巴巴有不能采集和防采集的神話,今天就用張老師講的Curl采集寫了一個模擬瀏覽器的代碼。2011-04-04
PHP sleep()函數(shù), usleep()函數(shù)
這篇文章主要介紹了PHP sleep()函數(shù), usleep()函數(shù),需要的朋友可以參考下2016-08-08

