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

2022-03-24 09:42:59 字數 1595 閱讀 8433

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

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

2設計模式

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

3 mvc模式

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

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

mvc模式可以參考:

其中講解的非常棒!

4設計模式解決問題

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

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

(2)決定物件的粒度

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

(3)指定物件的介面

屬性名,操作名,引數,返回值,虛函式,過載……

(4)描述物件的實現

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

(5)運用復用機制

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

(6)執行時刻和編譯時刻結構

編譯時刻結構:**結構決定

執行時刻結構:通訊物件網路決定

(7)設計應支援的變化

復用性,,健壯性,可擴充套件性

物件建立,演算法依賴,驅動……

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

工作也從開始c語言,轉向現在的c 表面上看得出,但實際中卻沒有把這種轉變深入到思想中,究其原因還是對物件導向的軟體設計不了解,有必要好好學習一下設計模式這個東東。本文就是設計模式學習第一篇 1物件導向軟體設計中的問題 2設計模式 設計模式 某種問題通用性的解決方案,可重複的模式。就像是一種模具,使用...

如何物件導向軟體設計?

軟體設計也分大小,每個軟體開發工程師都有自己的設計,下面談談自己的見解 軟體開發的相關技術更新快,之前掌握的框架如前端的jquery和與jquery相關的框架,後端springmvc,structs,hiberneate等技術都逐漸被淘汰,有些技術公升級成新的技術仍在使用。技術是第一生產率。技術更新...

物件導向軟體設計原則(二) 軟體設計的腐化

我們如何知道軟體設計的優劣呢?以下是一些拙劣設計的症狀,當軟體出現下面任何一種氣味時,就表明軟體正在腐化。僵化性 僵化是指難以對軟體進行改動,即使是簡單的改動。如果單一的改動會導致有依賴關係的模組中的連鎖改動,那麼設計就是僵化的。必須要改動的模組越多,設計就越僵化。大部分開發人員都遇到這樣的情況 他...