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)文章
PHP 命令行工具 shell_exec, exec, passthru, system詳細(xì)使用介紹
PHP 為執(zhí)行外部命令提供大量函數(shù),其中包括 shell_exec()、exec()、passthru() 和 system()。這些命令是相似的,但為您運(yùn)行的外部程序提供不同的界面。2011-09-09PHP處理數(shù)組和XML之間的互相轉(zhuǎn)換
這篇文章主要介紹了如何使用PHP處理數(shù)組和XML之間的互相轉(zhuǎn)換,詳細(xì)介紹了PHP將XML轉(zhuǎn)換成數(shù)組,PHP將數(shù)組轉(zhuǎn)換成XML的方法,感興趣的小伙伴們可以參考一下2016-06-06PHP實(shí)現(xiàn)圖片旋轉(zhuǎn)的方法詳解
這篇文章主要為大家詳細(xì)介紹了PHP如何實(shí)現(xiàn)圖片旋轉(zhuǎn)功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)PHP有一定幫助,感興趣的小伙伴可以了解一下2022-11-11解決PhpMyAdmin中導(dǎo)入2M以上大文件限制的方法分享
當(dāng)用phpMyAdmin導(dǎo)入的資料庫(kù)大小大于2M的時(shí)候,會(huì)出現(xiàn)如下提示: No data was received to import. Either no file name was submitted、or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16.2014-06-06PHP實(shí)現(xiàn)算式驗(yàn)證碼和漢字驗(yàn)證碼實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)算式驗(yàn)證碼和漢字驗(yàn)證碼實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03php+html優(yōu)化頁(yè)面顯示速度的方法小結(jié)
這篇文章主要為大家詳細(xì)介紹了php結(jié)合html優(yōu)化頁(yè)面顯示速度的一些常見(jiàn)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12PHP實(shí)現(xiàn)HTML生成PDF文件的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)HTML生成PDF文件的方法,可實(shí)現(xiàn)linux中利用HTML2FPDF與wkhtmltoimage把網(wǎng)頁(yè)html直接生成pdf格式的文件,需要的朋友可以參考下2014-11-11