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