PHP設(shè)計(jì)模式之結(jié)構(gòu)模式的深入解析
結(jié)構(gòu)模式之間有許多相似之處,因?yàn)樵趯?duì)象模型結(jié)構(gòu)中存在幾種關(guān)系:類之間的繼承和實(shí)現(xiàn),加上對(duì)象組合,這些是PHP設(shè)計(jì)模式的主要目的。
對(duì)象組合的最大優(yōu)勢(shì)在于可以在運(yùn)行時(shí)基于配置建立起一個(gè)關(guān)系,并不用修改實(shí)際的代碼,它是類繼承和接口實(shí)現(xiàn)需要的一個(gè)操作。實(shí)際上,你完全可以通過(guò)修改對(duì)象之間而非類之間的鏈接定義一個(gè)應(yīng)用程序的功能,這是設(shè)計(jì)的一部分。
結(jié)構(gòu)模式清單
適配器-橋接-外觀(Adapter-Bridge-Facade)
這三個(gè)模式的目標(biāo)是競(jìng)爭(zhēng)耦合:
◆適配器模式(Adapter)使用不同的接口連接對(duì)象;
◆橋接模式(Bridge)將一個(gè)M抽象層和一個(gè)N實(shí)現(xiàn)層分離成N+M類,代替M*N用法;
◆外觀模式(Facade)創(chuàng)建一個(gè)新的統(tǒng)一的界面來(lái)訪問(wèn)子系統(tǒng)。
復(fù)合-裝飾-代理(Composite-Decorator-Proxy)
這三個(gè)模式維護(hù)相同的對(duì)象接口,它們透明地添加正交關(guān)注,客戶端不會(huì)察覺(jué):
◆復(fù)合模式為其它對(duì)象增加容器組織層次結(jié)構(gòu),并將樹(shù)作為其它樹(shù)的葉子進(jìn)行重用;
◆裝飾模式通過(guò)攔截方法授權(quán)添加行為,避免引入大量的子類;
◆代理模式給一個(gè)還不存在或很難訪問(wèn)的對(duì)象授權(quán)操作。
最后,享元模式(Flyweight)是一個(gè)無(wú)身份的ValueObjects標(biāo)準(zhǔn)實(shí)現(xiàn)。
- 超級(jí)全面的PHP面試題整理集合
- 據(jù)說(shuō)是雅虎的一份PHP面試題附答案
- PHP 分頁(yè)類(模仿google)-面試題目解答
- 騰訊QQ php程序員面試題目整理
- php的面試題分享
- PHP設(shè)計(jì)模式之責(zé)任鏈模式的深入解析
- PHP設(shè)計(jì)模式之迭代器模式的深入解析
- php設(shè)計(jì)模式之單例、多例設(shè)計(jì)模式的應(yīng)用分析
- php設(shè)計(jì)模式之單例模式使用示例
- php設(shè)計(jì)模式之命令模式使用示例
- php單態(tài)設(shè)計(jì)模式(單例模式)實(shí)例
- PHP經(jīng)典面試題之設(shè)計(jì)模式(經(jīng)常遇到)
相關(guān)文章
關(guān)于PHP自動(dòng)判斷字符集并轉(zhuǎn)碼的詳解
本篇文章是對(duì)PHP自動(dòng)判斷字符集并轉(zhuǎn)碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP curl模擬瀏覽器采集阿里巴巴的實(shí)現(xiàn)代碼
都說(shuō)阿里巴巴有不能采集和防采集的神話,今天就用張老師講的Curl采集寫了一個(gè)模擬瀏覽器的代碼。2011-04-04
PHP實(shí)現(xiàn)獲取文件后綴名的幾種常用方法
這篇文章主要介紹了PHP實(shí)現(xiàn)獲取文件后綴名的幾種常用方法,通過(guò)三種不同的方法實(shí)例分析了php獲取文件后綴名的實(shí)現(xiàn)技巧,分別通過(guò)字符串、文件屬性及數(shù)組等方式實(shí)現(xiàn)這一功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
PHP sleep()函數(shù), usleep()函數(shù)
這篇文章主要介紹了PHP sleep()函數(shù), usleep()函數(shù),需要的朋友可以參考下2016-08-08
php ci 獲取表單中多個(gè)同名input元素值的代碼
這篇文章主要介紹了php ci 獲取表單中多個(gè)同名input元素值的代碼,需要的朋友可以參考下2016-03-03

