物件導向軟體設計——設計模式學習

來源:互聯網
上載者:User

  工作也從開始C語言,轉向現在的C++,表面上看得出,但實際中卻沒有把這種轉變深入到思想中,究其原因還是對物件導向的軟體設計不瞭解,有必要好好學習一下設計模式這個東東。本文就是設計模式學習第一篇…… 

1 物件導向軟體設計中的問題

2 設計模式

設計模式:某種問題通用性的解決方案,可重複的模式。就像是一種模具,使用這種模具可以批量性的生產某種東西一般。這裡的設計模式是一個非常抽象性的概念,他是在某種情境中,針對某類問題,提出解決方案,以達到某種效果。“每一個模式描述了一個不斷重複發生的問題以及該問題的解決方案的核心。

 

3 MVC模式

MVC(模型/視圖/控制器)用來構建完整的使用者介面(顯示和響應)。基本上所有的架構都是基於MVC模式或者其變種的模式開發的。具體的問題就是需要使用到具體的模式或者多種模式來解決。

其互動方式有:(當然還有其他方式)

MVC模式可以參考:

http://www.cnblogs.com/wubaiqing/archive/2011/10/26/2225438.html

http://www.cnblogs.com/virusswb/archive/2011/11/04/2236497.html

其中講解的非常棒!

 

4 設計模式解決問題

       (1)合理的對現象進行抽象

資料,資料處理,操作,顯示,互動……

       (2)決定對象的粒度

如何設計一個對象,一個多大的對象,各種方法屬性的許可權如何等。如:使用一個屬性類對象list直接管理一系列對象,還是交給一個屬性類對象來管理。

       (3)指定對象的介面

              屬性名稱,操作名,參數,傳回值,虛函數,重載……

             

       (4)描述對象的實現

              UML圖繪製整個系統的類結構圖

       (5)運用複用機制

                     合適的繼承,組合的運用,委託(多態性),模板

       (6)運行時刻和編譯時間刻結構

              編譯時間刻結構:代碼結構決定

              運行時刻結構:通訊對象網路決定

       (7)設計應支援的變化

              複用性,,健壯性,可擴充性

              對象建立,演算法依賴,驅動……

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.