系統設計之後,我們需要對我們的類模型進行細化,具體過程如下
1. 實現用例
根據用例的場景,我們為類新增一些操作,使我們的用例能夠通過類執行起來
2. 設計演算法
一般來說,20%的操作消耗80%的執行時間,對於可能存在效能問題的操作,我們可以給出乙個初步的演算法偽**(例如,每次查詢key為「abc」的物件,我們需要都遍歷10000個物件,每個物件是有序排序的,這時候我們可以使用折中演算法)
在一些複雜的演算法中,我們需要為類新增一些行為,讓演算法更容易理解(如下面的偽**,我們在word中新增乙個「包含」方法)
如下是乙個查詢字元的演算法偽**
for line in doc
for word in line
if word.包含(「需要查詢的字元」)
return word
end if
end for
end for
3. 向下遞迴設計操作
使用者訪問登入頁面
系統返回登入頁面
使用者輸入使用者名稱密碼
系統驗證使用者名稱密碼正確
系統跳轉至後台主頁
在這段用例中,我們可以在accountcontroller中新增「返回登入頁面」方法,「驗證使用者名稱密碼」方法,「驗證使用者名稱密碼」方法會呼叫我們的「使用者倉庫」類的「獲取使用者」方法獲取我們的「使用者」類,然後呼叫我們「使用者」類的「驗證密碼」方法驗證我們密碼的正確性
上面的操作中,除了accountcontroller的「返回登入頁面」方法和「驗證使用者名稱密碼」方法可以從用例中發現外,其餘的方法需要我們自己去推導設計
4. 為高效訪問而增加冗餘
有時候我們為了高效訪問會增加一些冗餘關聯,如下
5. 應用快取
對於一些消耗效能的操作,我們可以快取其結果
6. 行為具體化
即將我們的操作提公升為類
如果我們的行為有狀態,需要在執行時儲存或修改或傳遞,則我們應該將行為提公升為類
7. 調整繼承
某些類的行為具有相似性,這時候我們應該從不同的抽象層次去看待,可能我們就會發現他們具有共同的父類
物件導向建模
建模 為了理解事物而對事物作出的一種抽象,是對事物的一種無歧義的書面描述。建模的目的 減少複雜性。物件導向方法最基本的原則 按照人們習慣的思維方式,用物件導向觀點建立問題域的模型,開發出盡可能自然地表現求解方法的軟體。用物件導向方法開發軟體,通常需要建立3種形式的建模,它們分別是描述系統資料結構的物...
物件導向5 設計模式
設計模式 1.什麼是設計模式?答 設計模式就是解決某類問題最行之有效的解決方案,設計模式是一種思想。單例設計模式?1.單例設計模式解決的問題 保證乙個類在記憶體中只存在乙個物件。簡單說,就是保證乙個類在記憶體中的物件的唯一性。2.應用場景 如配置檔案。a要使用配置檔案物件。b程式也要實用配置檔案物件...
物件導向 類設計(二)
物件導向 類設計 一 拷貝建構函式 copy ctor 和拷貝賦值 copy assignment 操作符 編譯器建立的版本只是單純地將 物件的每乙個non static成員變數拷貝到目標物件 在系統分析和設計階段 類分三種 例如在考試系統中,當學生在考試時 學生與試卷互動,那麼 學生和試卷都是實體...