什麼是設計模式:
設計模式就是一個教你如何利用真實可靠的設計來組織你的代碼的模板。
所有的設計模式都有一些常用的特性:一個標識(a name),一個問題陳述(a problem statement)和一個解決方案(a solution)。
1、一個設計模式的標識是重要的,因為它會讓其他的程式員不用進行太深入的學習就能立刻理解你的代碼的目的(至少通過這個標識程式員會很熟悉這個模式)。
2、問題描述是用來說明這個模式的應用的領域。
3、解決方案描述了這個模型的執行。一個好的設計模式的論述應該覆蓋使用這個模型的優點和缺點。
比如,你從店鋪裡面買的一件襯衫是一個程式碼程式庫,它的顏色,樣式和大小都由設計師和廠商決定,但它滿足了你的需求。然而,如果店裡面沒有什麼衣服適合你,那你就能自己建立自己的襯衫(設計它的形狀,選擇布料,然後裁縫在一起)。但是如果你不是一個裁縫,你可能會發現自己很容易的去找一個合適的模式然後按著這個模式去設計自己的襯衫。使用一個模型,你可以在更少的時間內得到一個熟練設計的襯衫。
php一共有傳統的23種設計模式,
Interpreter(解譯器模式),Factory(原廠模式),Facade(面板模式),Decorator(裝飾模式),Builder(建造者模式)
Adapter(適配器模式),Template (模板模式),Command(命令鏈模式),Singleton(單例模式),Observer(觀察者模式)
Strategy(策略模式),Visitor (訪問者模式),Memento (備忘錄模式),Prototype (原型模式),Mediator (中介者模式)
FlyWeight (享元模式),Chain Of Responsibility (職責鏈模式),Bridge (橋接模式),Proxy (代理模式),State (狀態模式)
Composite (組合模式),Interator (迭代器模式),DAO(Data Access Objects模式),Delegation(委託模式)
其中有五種php常見的設計模式
1.原廠模式 2.單例模式(單元素模式)3.觀察者模式 4.命令鏈模式 5.策略模式
什麼是耦合:
耦合性(Coupling),也叫耦合度,是對模組間關聯程度的度量。耦合的強弱取決與模組間介面的複雜性、調用模組的方式以及通過介面傳送資料的多少。模組間的耦合度是指模組之間的依賴關係,包括控制關係、調用關係、資料傳遞關係。模組間聯絡越多,其耦合性越強,同時表明其獨立性越差。軟體設計中通常用耦合度和內聚度作為衡量模組獨立程度的標準。劃分摸塊的一個準則就是高內聚低耦合
什麼是多型:
“對於物件導向的程式設計語言,多型性是第三種最基本的特徵(前兩種是資料抽象和繼承。”
“多型”(Polymorphism)從另一個角度將介面從具體的實施細節中分離出來,亦即實現了“是什麼”與“怎樣做”兩個模組的分離。利用多型的概念,代碼的組織以及可讀性均能獲得改善。此外,還能建立“易於擴充”的程式。無論在項目的建立過程中,還是在需要加入新特性的時候,它們都可以方便地“成長”。