前言
用php開發兩年多了,準備也寫一下平時常用的設計模式,都是基於自己的實踐經驗,當然,用設計模式之前首先要看懂設計模式,因此這裡首先講解一下UML類圖。通過UML類圖,能更好的和大家交流,也能很容易就表達出自己的設計想法
UML
Unified Modeling Language(UML)又稱整合模組化語言或標準建模語言,是始於1997年一個OMG標準,它是一個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和可視化支援,包括由需求分析到規格,到構造和配置
類
矩形框代表一個類,類圖分為三層
第一層為類的名稱,如果是抽象類別則類名用斜體表示,中的動物類
第二層為類的特性(通常為類的成員屬性)
第三層為類的操作(通常為類的成員方法)
注意:“+”代表public,“-”代表private,“#”代表protected
動物類是一個抽象類別,它是不能被執行個體化的,而人類是可以被執行個體化的
介面
介面有兩種表示方法:矩形標記法(開車的介面)和棒棒糖標記法(人類中的實現開車的介面)。
矩形標記法,頂端有<<介面>>或者<>,第一行為介面名稱,第二行為介面方法
棒棒糖標記法,圓圈旁為介面名稱,介面方法在實作類別中出現,如果人類中的開車
泛化(Generalization)
表示類與類之間的繼承關係,介面與介面之間的繼承關係,或類對介面的實現關係。一般化的關係是從子類指向父類的,與繼承或實現的方法相反。用空心三角形+實線來表示繼承。在靜態結構圖表中,在父類和子類間拖放歸納串連,箭頭指向父類,另一段指向子類。用空心三角形+虛線來表示實現介面。
依賴(Dependency)
對於兩個相對獨立的對象,當一個對象負責構造另一個對象的執行個體,或者依賴另一個對象的服務時,這兩個對象之間主要體現為依賴關係。依賴關係具體表現在局部變數,方法的參數,以及對靜態方法的調用。比如說動物有幾大特徵,如新陳代謝,繁殖,有生命。而動物要有生命力,就需要氧氣,水,以及食物,也就是說動物依賴於氧氣和水。
代碼錶現
局部變數、方法的參素和或者對靜態方法的調用
彙總關係(Aggregation)
彙總關係是整體與部分的關係,且部分可以離開整體而單獨存在。如車和輪胎是整體和部分的關係,輪胎離開車仍然可以存在。用帶空心菱形的實心線來表示
代碼錶現
成員變數
組合(Composition)
是整體與部分的關係,但部分不能離開整體而單獨存在。如公司和部分是組合關係
代碼錶現
成員變數
後記
還有一些有待補充吧,邊學邊記!
http://www.bkjia.com/PHPjc/477275.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477275.htmlTechArticle前言 用php開發兩年多了,準備也寫一下平時常用的設計模式,都是基於自己的實踐經驗,當然,用設計模式之前首先要看懂設計模式,因此...