php設計模式——UML類圖_PHP教程

來源:互聯網
上載者:User
前言
用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開發兩年多了,準備也寫一下平時常用的設計模式,都是基於自己的實踐經驗,當然,用設計模式之前首先要看懂設計模式,因此...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.