PHP設計模式(七):設計模式分類

原文地址:PHP設計模式(七):設計模式分類算法

Introduction

根據目的和範圍,設計模式能夠分爲五類。按照目的分爲:建立設計模式,結構設計模式,以及行爲設計模式。按照範圍分爲:類的設計模式,以及對象設計模式。下面分別介紹。設計模式

建立設計模式

建立設計模式(Creational patterns),用於建立對象時的設計模式。更具體一點,初始化對象流程的設計模式。當程序日益複雜時,須要更加靈活地建立對象,同時減小建立時的依賴。而建立設計模式就是解決此問題的一類設計模式。架構

結構設計模式

結構設計模式(Structural patterns),用於繼承和接口時的設計模式。結構設計模式用於新類的函數方法設計,減小沒必要要的類定義,減小代碼的冗餘。框架

行爲設計模式

行爲設計模式(Behavioral patterns),用於方法實現以及對應算法的設計模式,同時也是最複雜的設計模式。行爲設計模式不單單用於定義類的函數行爲,同時也用於不一樣類之間的協議、通訊。函數

類的設計模式

類的設計模式(Class patterns),用於類的具體實現的設計模式。包含了如何設計和定義類,以及父類和子類的設計模式。編碼

對象設計模式

對象設計模式(Object patterns),用於對象的設計模式。與類的設計模式不一樣,對象設計模式主要用於運行期對象的狀態改變、動態行爲變動等。設計

爲何會重構?

重構一般是因爲現有程序的框架不能很好的適應新需求,雖然能夠經過硬編碼(hardcode)或者繞過(bypass)的方式來解決一個新需求,但這並非長久之計。當新需求愈來愈多時,如今程序會愈來愈冗餘,致使最後的不可維護。code

架構和設計模式的區別

相比架構(frameworks),設計模式是一些抽象的組成架構的元素,且更爲靈活通用。
架構更適合解決具體問題,使用架構構建應用程序將更爲快捷,不過相比設計模式,架構犧牲了靈活性。對象

Summary

本文介紹了設計模式的分類,後面咱們將分別介紹各類設計模式。繼承

相關文章
相關標籤/搜索