設計模式系列 物件導向葵花寶典 物件導向實戰

2021-08-11 05:09:04 字數 2510 閱讀 9740

宣告:本系列為物件導向葵花寶典一書學習總結內容,原作者部落格鏈結

3. 物件全流程概述

物件導向的技術流程可以概括如下:

需求模型

通過和客戶溝通,結合行業經驗和知識,明確要求客戶的需求。

領域模型

基於需求模型,提煉出領域相關的概念,為後面的物件導向設計打下基礎。

領域模型

以領域模型為基礎,綜合物件導向的各種設計技巧,完成類的設計。

實現模型

以設計模型為基礎,將設計模型翻譯為具體的語言實現,完成編碼。

4. 需求模型
4.1. 需求詳解

- 需求:對客戶來說有價值的事情(客戶的目的)

- 功能:系統為了實現客戶價值而提供的能力

- pos 機:「買單」是需求,「商品掃瞄」、「金額彙總」、「收銀」等是功能,因為買完單後顧客就能將產品拿走

- 汽車:「駕駛」是需求,「發動機」、「剎車」、「加速」等是功能

4.2. 需求的重要性

據統計,有將近 1/3 的專案失敗或者陷入困境時因為需求原因導致的!。

修復需求錯誤的問題的成本非常高昂。

維護階段修復 = 需求階段修復 * 200。

4.3. 需求分析

挖掘客戶的問題,實現客戶價值。(需求要具體,有針對性)

比如 我要乙隻羊?

如果客戶是用來吃的,也許你更應該提供一頓烤羊肉,或者乙隻大羊腿,客戶會更加滿意;

如果客戶是用來給他小孩做寵物的,那麼給乙隻雪白的漂亮的小羊羔也許他的小孩更高興;

如果客戶是用來生小羊的,那麼給乙隻強壯的成年母羊是更好的選擇。

需求分析 518 方法

5:5w,即 when、where、who、what、why 多方面確定客戶需求

1:1h,即 how 分析如何實現客戶需求

8:8c,即 8 個 constraint,包括效能 performance、成本 cost、時間 time、可靠性 reliability、安全性security、合規性 compliance、技術性 technology、相容性 compatibility 軟體設計的質量和效能

4.4. 用例方法

用例方法三段法(nea方法):

1)正常處理(normal):通過和客戶溝通,分析需求的正常流程;

2)異常處理(exception):在正常處理流程的步驟上,分析每一步的各種異常情況和對應的處理;

3)替代處理(alternative):在正常處理流程的步驟上,分析每一步是否有其它替代方法,以及替代方法如何做

4.5. 功能

用例中

那些需要系統完成的事情——更簡單的說:是動詞——提取出來,就成為了系統的功能。

功能編號

功能描述

涉及用例

001銀行卡驗證

取款、存款、查詢餘額

002密碼驗證

取款、存款、查詢餘額

003點鈔

取款、存款

004驗鈔

存款005

列印交易清單

取款、存款

5. 領域模型

領域模型,顧名思義,就是需求所涉及的領域的乙個建模,更通俗的**是業務模型。

5.1. 領域建模三字經

找名詞 從用例中找名詞

加屬性 將這些名詞相關的屬性找出來

連關係 找出它們的關係

具體例項分析請看原作者部落格

6. 設計模型
6.1. 設計模型總覽

設計模型主要包含 2 部分內容:靜態模型、動態模型

靜態模型主要用於指導類的宣告,包括類名稱,屬性名,方法名

動態模型主要用於指導類的實現,主要就是每個方法內部的具體實現

6.2. 類模型

可能很多人都有這種感覺:物件導向我也懂,設計模式我也知道,設計原則我也明白,但真的要進行設計的時候,就不知道如何下手了,比如說:

物件從**來?

什麼時候用設計模式?

如何判斷設計是否正確?

什麼樣的設計才是優秀的設計?

物件導向類設計的具體步驟

第一步(照貓畫虎):領域類對映

第二步(精雕細琢):應用設計原則和設計模式

第三步(照本宣科):拆分輔助類

7. 實現模型

訪問控制

繼承 繼承方式

多型 抽象類

介面

設計模式系列 物件導向葵花寶典 物件導向基礎

宣告 本系列為物件導向葵花寶典一書學習總結內容,原作者部落格鏈結 書籍簡介 文中闡述了作者對物件導向的深入理解,全面闡述了物件導向的理論基礎,以及通過物件導向的實戰指導進行分析,尤為重點讓人容易忽視的需求分析過程,讓程式更具有建造者的設計氣息。最後一部分講解了物件導向的技巧,以及設計模式的內在剖析。...

設計模式系列 物件導向葵花寶典 物件導向技巧

宣告 本系列為物件導向葵花寶典一書學習總結內容,原作者部落格鏈結 8.設計原則8.1.內聚和耦合 內聚 是否專注模組的職責,是內聚性的充要條件 是否與模組處理的內容相關 耦合 耦合 或者稱依賴 是程式模組相互之間的依賴程度 內聚關注模組內部的元素結合程度,耦合關注模組之間的依賴程度 訊息耦合模組間的...

商業模式不是「葵花寶典」

我總覺得,創業者對於商業模式的狂熱追捧越來越走向了乙個誤區。此話怎講?因為模式說到底,實際上是一種複雜商業邏輯的簡化。模式的產業殺傷力越大,自殺的可能性也越大,比如順馳。最近因為新工作的關係,老跟創業 風投的朋友打交道。耳朵裡聽到最多的乙個詞是 商業模式 business model 自從本世紀初....