IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
計(jì)算機(jī)剛出現(xiàn)不久,產(chǎn)生了一種常見的編程范式是面向過程,其構(gòu)造類似于做菜的配方,因?yàn)樗院瘮?shù)和代碼塊的形式提供一組步驟,這些步驟順序地流動以完成任務(wù)。用面向過程的語言開發(fā)一款銀行軟件系統(tǒng)的取款模塊,設(shè)計(jì)思路是基于取款這個(gè)過程的。首先,插入銀行卡、輸入密碼、ATM驗(yàn)證賬號和密碼。其次,輸入取款金額、ATM驗(yàn)證余額、ATM驗(yàn)證賬號和密碼。最后ATM吐出鈔票。面向過程的軟件開發(fā)就是圍繞這些步驟來設(shè)計(jì)的。
然而,面向過程的代碼在代碼規(guī)模變大時(shí)會難以理解和維護(hù),不利于修改和擴(kuò)充(增加新功能),也不利于代碼的重用。因此軟件開發(fā)發(fā)展形成了面向?qū)ο蟮姆治鲈O(shè)計(jì)。
同樣是銀行軟件系統(tǒng)的取款模塊,面向?qū)ο笫菄@取款操作中有哪些參與者來設(shè)計(jì)軟件的。參與者包括:銀行卡,客戶和ATM機(jī)。銀行卡包含賬號和密碼。插入銀行卡、輸入密碼和輸入取款金額都是客戶的動作。驗(yàn)證賬號和密碼、驗(yàn)證余額以及吐出鈔票都是ATM的行為。圍繞對象來設(shè)計(jì)軟件時(shí)。首先以姓名為參數(shù)實(shí)例化用戶類創(chuàng)建一個(gè)用戶對象。然后以用戶、卡號、密碼為參數(shù),實(shí)例化銀行卡類創(chuàng)建一個(gè)銀行卡對象。然后以銀行卡對象為參數(shù)實(shí)例化ATM類創(chuàng)建一個(gè)ATM機(jī)對象。然后調(diào)用驗(yàn)證用戶名密碼方法和吐鈔票方法,完成取鈔功能。當(dāng)修改驗(yàn)證密碼的代碼時(shí),比如改為人臉驗(yàn)證,其它地方是不受影響的。這就是面向?qū)ο箝_發(fā)的一個(gè)重大的好處。
總結(jié)來說,面向?qū)ο笏窃诿嫦蜻^程滿足不了軟件發(fā)展需求的背景下出現(xiàn)的。它更符合人類的思考方式。所以面向?qū)ο蟮膬?yōu)勢非常明顯,具體表現(xiàn)在四個(gè)方面:
①可維護(hù)性好。
②可擴(kuò)展性好,系統(tǒng)里新加一個(gè)模塊,代碼的影響能降到最低。
③可重用性好,別的系統(tǒng)可以非常方便的重用這個(gè)系統(tǒng)里某個(gè)模塊的代碼,幾乎不用更改。
④和面向過程相比,面向?qū)ο箝_發(fā)效率更高。
知道了面向?qū)ο蟮膬?yōu)勢,下面引入面向?qū)ο蟮亩x。面向是以……為導(dǎo)向的,以……為目標(biāo)的意思。對象是物體、目標(biāo)、客體和對象的意思。因此面向?qū)ο蟮亩x是:以對象為導(dǎo)向,圍繞對象來開發(fā)應(yīng)用程序的軟件開發(fā)方法。
>>本文地址:http://liujunjsxg.cn/zhuanye/2020/48452.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?