摘要:原文地址設計模式七設計模式分類根據目的和范圍,設計模式可以分為五類。按照目的分為創建設計模式,結構設計模式,以及行為設計模式。與類的設計模式不同,對象設計模式主要用于運行期對象的狀態改變動態行為變更等。
Introduction原文地址:PHP設計模式(七):設計模式分類
根據目的和范圍,設計模式可以分為五類。按照目的分為:創建設計模式,結構設計模式,以及行為設計模式。按照范圍分為:類的設計模式,以及對象設計模式。下面分別介紹。
創建設計模式創建設計模式(Creational patterns),用于創建對象時的設計模式。更具體一點,初始化對象流程的設計模式。當程序日益復雜時,需要更加靈活地創建對象,同時減少創建時的依賴。而創建設計模式就是解決此問題的一類設計模式。
結構設計模式結構設計模式(Structural patterns),用于繼承和接口時的設計模式。結構設計模式用于新類的函數方法設計,減少不必要的類定義,減少代碼的冗余。
行為設計模式行為設計模式(Behavioral patterns),用于方法實現以及對應算法的設計模式,同時也是最復雜的設計模式。行為設計模式不僅僅用于定義類的函數行為,同時也用于不同類之間的協議、通信。
類的設計模式類的設計模式(Class patterns),用于類的具體實現的設計模式。包含了如何設計和定義類,以及父類和子類的設計模式。
對象設計模式對象設計模式(Object patterns),用于對象的設計模式。與類的設計模式不同,對象設計模式主要用于運行期對象的狀態改變、動態行為變更等。
為什么會重構?重構通常是由于現有程序的框架不能很好的適應新需求,雖然可以通過硬編碼(hardcode)或者繞過(bypass)的方式來解決一個新需求,但這并不是長久之計。當新需求越來越多時,現在程序會越來越冗余,導致最后的不可維護。
架構和設計模式的區別相比架構(frameworks),設計模式是一些抽象的組成架構的元素,且更為靈活通用。
架構更適合解決具體問題,使用架構構建應用程序將更為快捷,不過相比設計模式,架構犧牲了靈活性。
本文介紹了設計模式的分類,后面我們將分別介紹各種設計模式。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21645.html
摘要:原文地址設計模式十適配器模式在設計模式七設計模式分類中我們提到過結構設計模式,結構設計模式專注于設計對象和實例的構建組合過程。適配器模式在不修改現有代碼的基礎上,保留了架構。 原文地址:PHP設計模式(十):適配器模式 Introduction 在PHP設計模式(七):設計模式分類中我們提到過結構設計模式(Structural patterns),結構設計模式專注于設計對象(Objec...
摘要:原文地址設計模式八工廠模式在設計模式七設計模式分類中我們提到過創建設計模式,創建設計模式專注于設計對象和實例的創建過程。工廠模式工廠模式,也是五種設計模式中唯一的類的設計模式,即在類中就能實現的設計模式。 原文地址:PHP設計模式(八):工廠模式 Introduction 在PHP設計模式(七):設計模式分類中我們提到過創建設計模式(Creation patterns),創建設計模式專...
摘要:我們在新建一個刪除前的鉤子函數,再利用遞歸方法實現子欄目的刪除。最后我們刪除把鉤子函數恢復到原始狀態在瀏覽器中輸入,然后點擊美國一欄中的刪除,此時會同時刪除美國下的紐約。至此,無限級分類的刪除功能操作完畢。 在此現更正一下之前的預告,之前忘記了先應該把無限級分類欄目列表功能做完,也就是刪除功能還沒做,所以今天我們先做刪除,下一節再做面包屑導航。非常抱歉。 同時,不知道是什么原因,上一節...
摘要:準備工作服務器最好使用服務器,小白推薦安裝寶塔面板。備案域名小程序賬號建議注冊企業賬號,可以使用已認證的公眾號快速創建。七牛賬號使用,加快網站訪問速度。如需使用小程序發帖,也會用到。注意不要使用以下的。 showImg(https://segmentfault.com/img/bVUUeU?w=600&h=280); 準備工作 1服務器 最好使用Linux服務器,小白推薦安裝寶塔面板。...
閱讀 3921·2021-11-17 09:33
閱讀 3283·2021-10-08 10:05
閱讀 3111·2021-09-22 15:36
閱讀 1140·2021-09-06 15:02
閱讀 2772·2019-08-29 12:45
閱讀 1590·2019-08-26 13:40
閱讀 3399·2019-08-26 13:37
閱讀 420·2019-08-26 13:37