(软件工程复习核心重点)第十章面向对象设计-第一节:面向对象设计的基本概念与准则
文章目錄
- 一:面向?qū)ο笤O(shè)計(jì)概念
- (1)定義
- (2)設(shè)計(jì)與分析的關(guān)系
- (3)分類
- 二:面向?qū)ο蟮脑O(shè)計(jì)準(zhǔn)則
- (1)模塊化
- (2)抽象
- (3)信息隱藏
- (4)低耦合
- A:交互耦合
- B:繼承耦合
- (5)高內(nèi)聚
- A:服務(wù)內(nèi)聚
- B:類內(nèi)聚
- C:一般一特殊內(nèi)聚
- (6)可重用
一:面向?qū)ο笤O(shè)計(jì)概念
(1)定義
設(shè)計(jì)是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實(shí)現(xiàn)方案的過程。從面向?qū)ο蠓治龅矫嫦驅(qū)ο笤O(shè)計(jì)是一個(gè)逐漸擴(kuò)充模型的過程,即面向?qū)ο笤O(shè)計(jì)就是用面向?qū)ο笥^點(diǎn)建立求解域模型的過程
(2)設(shè)計(jì)與分析的關(guān)系
- 分析結(jié)果可以直接映射成設(shè)計(jì)結(jié)果,而在設(shè)計(jì)過程中又會(huì)加深和補(bǔ)充對(duì)系統(tǒng)需求的理解,進(jìn)一步完善分析結(jié)果
- 分析和設(shè)計(jì)活動(dòng)是一個(gè)多次反復(fù)迭代的過程
- 分析是提取和整理用戶需求,并建立問題域精確模型的過程。設(shè)計(jì)則是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實(shí)現(xiàn)方案的過程
(3)分類
- 系統(tǒng)設(shè)計(jì):確定實(shí)現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu)
- 對(duì)象設(shè)計(jì):確定解空間中的類、關(guān)聯(lián)、接口形式及實(shí)現(xiàn)服務(wù)的算法
二:面向?qū)ο蟮脑O(shè)計(jì)準(zhǔn)則
(1)模塊化
面向?qū)ο筌浖_發(fā)模式支持了把系統(tǒng)分解成模塊設(shè)計(jì)的原理,對(duì)象是面向?qū)ο筌浖到y(tǒng)中的模塊,它是把數(shù)據(jù)結(jié)構(gòu)和操作這些數(shù)據(jù)的方法緊密地結(jié)合在一起所構(gòu)成的模塊
(2)抽象
面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言不僅支持過程抽象,而且支持數(shù)據(jù)抽象,對(duì)象類實(shí)際上是具有繼承機(jī)制的抽象數(shù)據(jù)類型,它對(duì)外開放的公共接口構(gòu)成了類的規(guī)格說明(協(xié)議),這種接口規(guī)定了外界可以使用的合法操作符,利用這些操作符可以對(duì)類實(shí)例中包含的數(shù)據(jù)進(jìn)行操作
- 規(guī)格說明抽象:使用者無須知道操作符的實(shí)現(xiàn)算法和類中數(shù)據(jù)元素的具體表示方法,就可以通過這些操作符使用類中定義的數(shù)據(jù),這種抽象稱為規(guī)格說明抽象
- 參數(shù)化抽象:指當(dāng)描述類的規(guī)格說明時(shí)并不具體指定所要操作的數(shù)據(jù)類型,而是把數(shù)據(jù)類型作為參數(shù),使得類的抽象程度更高,應(yīng)用范圍更廣,可重用性更高
(3)信息隱藏
在面向?qū)ο蟮能浖?#xff0c;信息隱藏通過對(duì)象的封裝來實(shí)現(xiàn),即類結(jié)構(gòu)分離了接口與實(shí)現(xiàn),從而支持了信息隱藏。對(duì)于類,屬性的表示方法和操作的實(shí)現(xiàn)算法都是隱藏的
(4)低耦合
A:交互耦合
對(duì)象間的耦合通過消息連接來實(shí)現(xiàn),則這種耦合是交互耦合。要使交互耦合盡可能松散,必須遵守下述準(zhǔn)則。
- 盡量降低消息連接的復(fù)雜程度。應(yīng)該盡量減少消息中包含的參數(shù)個(gè)數(shù),降低參數(shù)的復(fù)雜程度
- 減少對(duì)象發(fā)送或接收的消息數(shù)
B:繼承耦合
繼承是一般類與特殊類之間耦合的一種形式。通過繼承關(guān)系結(jié)合起來的基類和派生類構(gòu)成了系統(tǒng)中粒度更大的模塊,因此,它們彼此之間應(yīng)該結(jié)合得越緊密越好
(5)高內(nèi)聚
A:服務(wù)內(nèi)聚
一個(gè)服務(wù)應(yīng)該完成一個(gè)且僅完成一個(gè)功能
B:類內(nèi)聚
設(shè)計(jì)類的準(zhǔn)則是,一個(gè)類應(yīng)該只有一個(gè)用途,它的屬性和服務(wù)應(yīng)該是高內(nèi)聚的。如果某個(gè)類有多個(gè)用途,應(yīng)該把它分解成多個(gè)專用的類
C:一般一特殊內(nèi)聚
設(shè)計(jì)出的一般一特殊結(jié)構(gòu)應(yīng)該是對(duì)相應(yīng)的領(lǐng)域知識(shí)的正確抽取。緊密的繼承耦合與高度的一般一特殊內(nèi)聚是一致的
(6)可重用
- 盡量使用已有的類
- 如果需要?jiǎng)?chuàng)建新類,則在設(shè)計(jì)這些新類的協(xié)議時(shí)應(yīng)該考慮將來的可重復(fù)使用性
總結(jié)
以上是生活随笔為你收集整理的(软件工程复习核心重点)第十章面向对象设计-第一节:面向对象设计的基本概念与准则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 1552/1506 [Cerc
- 下一篇: 2016年股市上扬将一路顺畅