利用既存類來設(shè)計(jì)類,有4鐘方式:選擇,分解,配置和演變。這是面向?qū)ο蠹夹g(shù)的一個(gè)重要優(yōu)點(diǎn)。許多類的設(shè)計(jì)都是基于既存類的復(fù)用。
(1)選擇:設(shè)計(jì)類最簡單的方法是從既存構(gòu)件中簡單地選擇合乎需要的構(gòu)件。這就是開發(fā)軟件庫的目的。一個(gè)00開發(fā)環(huán)境應(yīng)提供常用構(gòu)件庫,大多數(shù)語言環(huán)境都帶有一個(gè)原始構(gòu)件庫(如整數(shù)、實(shí)數(shù)和字符),它是基礎(chǔ)層。任一基本構(gòu)件庫(如“基本數(shù)據(jù)結(jié)構(gòu)”構(gòu)件)都應(yīng)建立在這些原始層上。這些都是些一般的和可復(fù)用的類。這個(gè)層還包括一組提供其他應(yīng)用論域服務(wù)的一般類,如窗口系統(tǒng)和圖形圖元。表9-1顯示了建立在這些層上面的特定域的庫。最底層的論域庫包括了應(yīng)用論域的基礎(chǔ)概念并支持廣泛的應(yīng)用開發(fā)。特定項(xiàng)目和特定組的庫包括一下論域庫,它包含為相應(yīng)層所定義的信息。
(2)分解:最初標(biāo)識(shí)的“類”常常是幾個(gè)概念的組合。在設(shè)計(jì)時(shí),可能會(huì)發(fā)現(xiàn)所標(biāo)識(shí)的操作落在分散的幾個(gè)概念中,或者會(huì)發(fā)現(xiàn),數(shù)據(jù)屬性被分開放到模型中拆散概念形成的幾個(gè)組內(nèi)。這樣我們必須把一個(gè)類分成幾個(gè)類,希望新標(biāo)識(shí)的類容易實(shí)現(xiàn),或者它們已經(jīng)存在。
(3)配置:在設(shè)計(jì)類時(shí),可能會(huì)要求由既存類的實(shí)例提供類的某些特性。通過把相應(yīng)類的實(shí)例聲明為新類的屬性來配置新類。例如,一種仿真服務(wù)器可能要求使用一個(gè)計(jì)時(shí)器類,并在服務(wù)器類的定義中聲明它。
(4)演變:要開發(fā)的心類可能與一個(gè)既存類非常類似,但不完全相同。此時(shí),不適宜采用“選擇”操作,但可以從一個(gè)既存類演變成一個(gè)新類,可以利用繼承機(jī)制來表示一般化-特殊化的關(guān)系。
相關(guān)推薦:系統(tǒng)分析師重點(diǎn)與難點(diǎn):位示圖北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |