結構模式之間有許多相似之處,因為在物件模型結構中存在幾種關係:類之間的繼承和實現,加上物件組合,這些是php設計模式的主要目的。
物件組合的最大優勢在於可以在執行時基於配置建立起乙個關係,並不用修改實際的**,它是類繼承和介面實現需要的乙個操作。實際上,你完全可以通過修改物件之間而非類之間的鏈結定義乙個應用程式的功能,這是設計的一部分。
結構模式清單
介面卡-橋接-外觀(adapter-bridge-facade)
這三個模式的目標是競爭耦合:
程式設計客棧 ◆介面卡模式(adapter)使用不同的介面連線物件;
◆橋接模式(bridge)將乙個m抽象層和乙個n實現層分離成n+m類,代替m*n用法;
◆外觀模式(facade)建立乙個新的統一的介面來訪問子系統。
復合-裝飾-**(composite-de程式設計客棧corator-proxy)
這三個模式維護相同的物件介面,它們透明地新增正程式設計客棧交關注,客戶端不會察覺:
◆復合模式為其它物件增加容器組織層次結構,並將樹作為其它樹的葉子進行重用;
◆裝飾模式通過攔截方法授權新增行為,避免引入大量的子類;
◆**模式給乙個還不存在或很難訪問的物件授權程式設計客棧操作。
最後,享元模式(faexncgbmkelyweight)是乙個無身份的valueobjects標準實現。
本文標題: php設計模式之結構模式的深入解析
本文位址:
設計模式 結構模式 外觀模式
外觀模式 fasade pattern 隱藏系統的複雜性 將一系列複雜的業務交給乙個外觀類來供使用者呼叫,使用者不用對具體的業務實現關注太多。最好理解的是電腦開關機的案例 computer的power on 或者power off是cpu,memory和disk的開關的總體結果,但是使用者無需知道這...
設計模式之結構模式 介面卡模式
介面卡模式 adapter 介面卡模式將某個類的介面轉換成使用者期望的另乙個介面行為,目的是為了適應由於介面與介面之間不匹配所帶來的類的相容性問題。介面卡模式主要分為三大類 類的介面卡模式 物件的介面卡模式 介面的介面卡模式。首先我們來看第一種,類的介面卡模式 首先我們先建立乙個類 public c...
設計模式大類 結構模式 上
大概有7中結構模式,分為上下兩篇。一 adapter 介面卡 描述 將兩個不相容的類結合一起使用,一般需要用到其中某個類的若干方法 好處 在兩個類直接建立乙個混合介面,而不必修改類裡面的其他 例子 假設我們要打樁,有兩種類 方形樁 圓形樁.public class squarepeg public ...