物件導向分析與設計 如何邁出第一步

2021-08-30 01:23:49 字數 1339 閱讀 3815

最早在學習物件導向的分析與設計時,也研究了很多的教材,有講oo 基本概念的,如什麼是類,物件導向的基本特點等;也有講物件導向的設計原則的,比如單一職責,開放封閉,介面隔離... ....;當然不可能不去學習設計模式啦。但最終理論學了一大堆,在實踐時,還是覺得不知從何下手,有點霧裡看花的感覺。

(這裡講到了學習oo 的最好路線,先學概念,再學設計原則,最後才是設計模式)

後來我突然意識到,做系統設計雖然可以理解為藝術,但根本上它不過是個技術活,沒那麼玄乎的。而技術活是一定要去實踐的,不能被概念嚇到,相信熟能生巧。

我寫這篇文章是希望幫那些剛開始學習oo 的人早點下手,少走彎路,大牛請華麗地飄過。

首先講講分析和設計的區別,簡單的講,分析是針對問題域的,設計是針對解域的,也就是說分析是為了更好地理解需求和待解決的問題,而設計才是解決方案。這個不是重點,pass.

那怎樣物件導向設計呢?

其實,下手很簡單,掌握以下兩個中心就好了,物件導向的設計的核心不過是:

識別類分配職責

還是很抽象?別急,聽我慢慢解釋,

怎樣識別類呢,類有三種,實體類,邊界類和控制類。

實體類是指需要長時間保留下來的資訊,通常會做持久化處理,一般來講,用例中的名詞都可以被識別為實體類(或者實體類屬性)。

邊界類負責處理actor/system 之間的互動,通常是輸入/輸出等。

控制類負責處理一些複雜的運算和演算法等,一些較為複雜的處理都可以識別為控制類,同時,控制類還需要協調(控制)其他的類一起工作。

分配職責又是怎麼回事呢?

所謂的職責,就是系統需要完成的事情。具體來講,用例中系統要處理的步驟就是系統的職責,比如常見的crud 操作。這些操作都要適當的分配給上面找出來的類。

以上講的可能還是很抽象,怎麼辦呢。很簡單,我是莽漢我怕誰,不知道就硬上了,哈哈。管它三七二十一,先按照自己的理解識別一堆類,寫一堆的方法實現了用例再說。

你可能會說,這樣不好吧。可不好的標準是什麼呢,就是不符合前面說到的設計原則。不好怎麼辦呢,按照設計原則或者是使用適當的設計模式重構啊。

對於設計來說,沒有最好,只有更好。還有,只要你敢幹,啥事兒也不難。

最後,談談我對物件導向的理解。

對於任何的新概念或是方**,我們首先要把握住其根本的價值所在,其次是了解實現這個價值而需要遵循的原則和策略,最後才是手段。

物件導向的分析和設計也是一樣,

所以才會推薦上面提到的學習順序,先原則,後模式,否則可能就是本末倒置,甚至落入為了模式而模式的怪圈,效果可能就不好了。

《系統分析與設計方法》

物件導向分析與設計

物件導向的程式設計,剛剛接觸的時候,給人一種抽象 透明的感覺,不知道該怎麼樣去理解,實踐就更不用說了。一 物件導向的分析 ooa 二 物件導向的設計 ood 三 物件導向程式設計 oop 現在物件導向的程式設計已成為一種趨勢,面向過程的程式設計使得系統不易於擴充套件和維護,如果客戶的需求發生改,需要...

物件導向分析與設計

1 了解基於uml的物件導向分析與設計方法 2 掌握用例圖的繪製 用例規約 文件 的編制 3 掌握類圖 活 狀態圖 時序圖的繪製方法 大學教師選擇本學期要教授的課程,每位教師最多只能上報 4 門課程。教師選課結束後,教務管理人員進行協調和確認教師的課程,並建立本學期的課程目錄表,向學生公布。學生填寫...

物件導向分析與設計

班級 ahpu軟體工程 實驗要求 物件導向分析與設計 學號3160303242 目錄psp 1 了解基於uml的物件導向分析與設計方法 2 掌握用例圖的繪製 用例規約 文件 的編制 3 掌握類圖 活 狀態圖 時序圖的繪製方法 大學教師選擇本學期要教授的課程,每位教師最多只能上報 4 門課程。教師選課...