PHP設(shè)計模式之結(jié)構(gòu)模式的深入解析
結(jié)構(gòu)模式之間有許多相似之處,因為在對象模型結(jié)構(gòu)中存在幾種關(guān)系:類之間的繼承和實現(xiàn),加上對象組合,這些是PHP設(shè)計模式的主要目的。
對象組合的最大優(yōu)勢在于可以在運行時基于配置建立起一個關(guān)系,并不用修改實際的代碼,它是類繼承和接口實現(xiàn)需要的一個操作。實際上,你完全可以通過修改對象之間而非類之間的鏈接定義一個應(yīng)用程序的功能,這是設(shè)計的一部分。
結(jié)構(gòu)模式清單
適配器-橋接-外觀(Adapter-Bridge-Facade)
這三個模式的目標(biāo)是競爭耦合:
◆適配器模式(Adapter)使用不同的接口連接對象;
◆橋接模式(Bridge)將一個M抽象層和一個N實現(xiàn)層分離成N+M類,代替M*N用法;
◆外觀模式(Facade)創(chuàng)建一個新的統(tǒng)一的界面來訪問子系統(tǒng)。
復(fù)合-裝飾-代理(Composite-Decorator-Proxy)
這三個模式維護(hù)相同的對象接口,它們透明地添加正交關(guān)注,客戶端不會察覺:
◆復(fù)合模式為其它對象增加容器組織層次結(jié)構(gòu),并將樹作為其它樹的葉子進(jìn)行重用;
◆裝飾模式通過攔截方法授權(quán)添加行為,避免引入大量的子類;
◆代理模式給一個還不存在或很難訪問的對象授權(quán)操作。
最后,享元模式(Flyweight)是一個無身份的ValueObjects標(biāo)準(zhǔn)實現(xiàn)。
相關(guān)文章
PHP 命令行工具 shell_exec, exec, passthru, system詳細(xì)使用介紹
PHP 為執(zhí)行外部命令提供大量函數(shù),其中包括 shell_exec()、exec()、passthru() 和 system()。這些命令是相似的,但為您運行的外部程序提供不同的界面。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-06解決PhpMyAdmin中導(dǎo)入2M以上大文件限制的方法分享
當(dāng)用phpMyAdmin導(dǎo)入的資料庫大小大于2M的時候,會出現(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+html優(yōu)化頁面顯示速度的方法小結(jié)
這篇文章主要為大家詳細(xì)介紹了php結(jié)合html優(yōu)化頁面顯示速度的一些常見方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12