OOD之筆記一

OOA(面向對象分析) 分析甲方需求,通常需要畫一些類圖。

OOD (面向對象設計) 搭建一個框架

OOP(面向對象編程) 實現出來

主要是考察設計出類和方法,以描述生活中真實的對象。一般做OOD題目,5-7個類差不多,而且到問清楚需求可能已經到Core object的時候可能已經過了10分鐘

解決方案:(來自九章)

5C分析法:

1.碰到一個題目的時候,一定要先溝通,不能盲幹,3W原則(What是什麼[提出名詞進行詢問],How規則,Who主體)

OOD的思考:不去思考怎麼把車開到停車場,而是考慮有量車來了,然後停車場返回一個車位。       

例如讓你設計一個電梯系統,你可以考慮是什麼樣的電梯,電梯的調度規則是什麼,主體以實際設計的系統爲主(這樣的效果就是你的系統主要方法都以這個類爲中心)

2.定義一些核心類,並分析對象關係[哪裏對象是其他對象的數據成員,對象之間一對多,多對多的關係](從核心名詞開始考慮,然後考慮輸入,輸出)

3.研究一些用戶案例(用一句話說出這個類要做什麼事情),這個過程能夠理清楚自己遺漏的對象(想象對象可以執行的關鍵動作,這樣可能發現自遺漏的對象)

對於System : handle requset

對於elevator: 接收外部的請求,接收內部的請求,開門,關門,檢查重量(這樣是不是違反了單一職責原則?)你覺得作爲面試官,還需要實現什麼功能嗎?

對於Button :按下按鈕

4.畫類圖,呈現出你的方案

5.檢測自己的設計(SOLID原則)

I:接口分離原則 不應該強迫一個類實現它用不上的接口

D:依賴反轉原則       抽象不應該依賴於具體實現,具體實現應該依賴抽象。

 

 

最後關於電梯的規則可以使用一種設計模式:策略模式

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章