面向?qū)ο蟮脑O(shè)計(jì)與技術(shù)第三章_第1頁(yè)
面向?qū)ο蟮脑O(shè)計(jì)與技術(shù)第三章_第2頁(yè)
面向?qū)ο蟮脑O(shè)計(jì)與技術(shù)第三章_第3頁(yè)
面向?qū)ο蟮脑O(shè)計(jì)與技術(shù)第三章_第4頁(yè)
面向?qū)ο蟮脑O(shè)計(jì)與技術(shù)第三章_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

面向?qū)ο蟮脑O(shè)計(jì)與技術(shù)第三章2023-2026ONEKEEPVIEWREPORTINGWENKUDESIGNWENKUDESIGNWENKUDESIGNWENKUDESIGNWENKU目錄CATALOGUE面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮脑O(shè)計(jì)原則面向?qū)ο蟮脑O(shè)計(jì)模式面向?qū)ο蟮姆治雠c建模面向?qū)ο蟮木幊虒?shí)現(xiàn)面向?qū)ο蟮臏y(cè)試與評(píng)估面向?qū)ο蟮幕靖拍頟ART01是現(xiàn)實(shí)世界中的實(shí)體在計(jì)算機(jī)程序中的抽象表示,它包含數(shù)據(jù)和操作數(shù)據(jù)的方法。對(duì)象是具有相同屬性和行為的對(duì)象的集合,它定義了創(chuàng)建對(duì)象的模板或藍(lán)圖。類對(duì)象與類的定義封裝是將數(shù)據(jù)和操作數(shù)據(jù)的方法結(jié)合在一個(gè)稱為對(duì)象的實(shí)體中,并隱藏對(duì)象的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),只對(duì)外提供必要的接口。封裝提高了軟件的可維護(hù)性和安全性。繼承是一種使已有的類無(wú)需進(jìn)行任何修改就可以被重用的機(jī)制,它允許創(chuàng)建一個(gè)新類來(lái)繼承現(xiàn)有類的屬性和方法,同時(shí)還可以添加新的屬性和方法或覆蓋現(xiàn)有的方法。繼承實(shí)現(xiàn)了代碼的復(fù)用和擴(kuò)展。封裝與繼承的原理

多態(tài)性的實(shí)現(xiàn)方式方法重載在同一個(gè)類中,方法名相同但參數(shù)列表不同的方法稱為方法的重載。編譯器根據(jù)參數(shù)列表的不同來(lái)區(qū)分不同的方法。方法重寫在子類中定義一個(gè)與父類中同名同參數(shù)的方法,稱為方法的重寫。在運(yùn)行時(shí),根據(jù)對(duì)象的實(shí)際類型來(lái)調(diào)用相應(yīng)的方法。接口實(shí)現(xiàn)一個(gè)類可以實(shí)現(xiàn)一個(gè)或多個(gè)接口,接口中定義的方法在類中必須被實(shí)現(xiàn)。通過(guò)實(shí)現(xiàn)接口,可以實(shí)現(xiàn)不同類之間的多態(tài)性。面向?qū)ο蟮脑O(shè)計(jì)原則PART02每一個(gè)職責(zé)都是變化的一個(gè)軸線,如果一個(gè)類有一個(gè)以上的職責(zé),這些職責(zé)就耦合在了一起。當(dāng)需求變化時(shí),眾多職責(zé)耦合在一起,會(huì)影響復(fù)用性。一個(gè)類只應(yīng)該有一個(gè)引起變化的原因。單一職責(zé)原則軟件實(shí)體應(yīng)當(dāng)對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。當(dāng)軟件需要變化時(shí),盡量通過(guò)擴(kuò)展軟件實(shí)體的行為來(lái)實(shí)現(xiàn)變化,而不是通過(guò)修改已有的代碼來(lái)實(shí)現(xiàn)變化。遵循開閉原則可以帶來(lái)面向?qū)ο蠹夹g(shù)所聲稱的巨大好處,也就是可維護(hù)、可擴(kuò)展、可復(fù)用、靈活性好。開閉原則

里氏替換原則子類型必須能夠替換掉它們的父類型。一個(gè)軟件實(shí)體如果使用的是一個(gè)父類的話,那么一定適用于其子類,而且它察覺(jué)不出父類對(duì)象和子類對(duì)象的區(qū)別。也就是說(shuō),在軟件里面,把父類都替換成它的子類,程序的行為沒(méi)有變化。高層模塊不應(yīng)該依賴低層模塊,它們都應(yīng)該依賴抽象。抽象不應(yīng)該依賴細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴抽象。要針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程。依賴倒置原則面向?qū)ο蟮脑O(shè)計(jì)模式PART03定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。工廠方法使一個(gè)類的實(shí)例化延遲到其子類。工廠方法模式將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。建造者模式用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象。原型模式確保一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。單例模式創(chuàng)建型模式:如工廠方法、建造者等結(jié)構(gòu)型模式:如適配器、裝飾器等適配器模式將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。裝飾器模式動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。就增加功能來(lái)說(shuō),裝飾器模式相比生成子類更為靈活。代理模式為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。外觀模式為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,外觀模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。觀察者模式定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái),并且使它們可相互替換。本模式使得算法可獨(dú)立于使用它的客戶而變化。允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象看起來(lái)似乎修改了它的類。使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它為止。策略模式狀態(tài)模式職責(zé)鏈模式行為型模式:如觀察者、策略等面向?qū)ο蟮姆治雠c建模PART0403構(gòu)建用例模型使用UML等工具繪制用例圖,展示參與者、用例以及它們之間的關(guān)系。01確定系統(tǒng)邊界和參與者識(shí)別與系統(tǒng)交互的外部實(shí)體,如用戶、其他系統(tǒng)等,并確定系統(tǒng)的范圍。02識(shí)別用例通過(guò)與用戶交流、分析業(yè)務(wù)需求等方式,識(shí)別出系統(tǒng)需要實(shí)現(xiàn)的功能,每個(gè)功能對(duì)應(yīng)一個(gè)用例。需求分析與用例建模分析業(yè)務(wù)領(lǐng)域,識(shí)別出核心概念,如實(shí)體、屬性、關(guān)系等。識(shí)別領(lǐng)域概念構(gòu)建領(lǐng)域模型精煉領(lǐng)域模型使用UML等工具繪制類圖,展示領(lǐng)域概念之間的關(guān)系,形成領(lǐng)域模型。通過(guò)不斷迭代和重構(gòu),優(yōu)化領(lǐng)域模型的結(jié)構(gòu)和表達(dá),使其更加貼近實(shí)際業(yè)務(wù)。030201領(lǐng)域模型與概念建模設(shè)計(jì)類與類的關(guān)系設(shè)計(jì)接口與實(shí)現(xiàn)構(gòu)建設(shè)計(jì)模型邏輯建模與優(yōu)化設(shè)計(jì)模型與邏輯建模根據(jù)領(lǐng)域模型,設(shè)計(jì)系統(tǒng)中的類以及類之間的關(guān)系,如繼承、關(guān)聯(lián)、聚合等。使用UML等工具繪制類圖、時(shí)序圖等,展示設(shè)計(jì)模型的結(jié)構(gòu)和動(dòng)態(tài)行為。定義類的接口,即類對(duì)外提供的方法和服務(wù),并實(shí)現(xiàn)這些方法。通過(guò)設(shè)計(jì)模式、重構(gòu)等手段,優(yōu)化設(shè)計(jì)模型的結(jié)構(gòu)和實(shí)現(xiàn),提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。面向?qū)ο蟮木幊虒?shí)現(xiàn)PART05Python語(yǔ)言具有簡(jiǎn)潔、易讀、易維護(hù)等特點(diǎn),適用于數(shù)據(jù)分析、人工智能等領(lǐng)域。C語(yǔ)言具有高效、靈活、底層控制能力強(qiáng)等特點(diǎn),適用于系統(tǒng)級(jí)編程、游戲開發(fā)等領(lǐng)域。Java語(yǔ)言具有跨平臺(tái)性、安全性高、面向?qū)ο蟮忍攸c(diǎn),適用于大型企業(yè)級(jí)應(yīng)用和Web開發(fā)。選擇面向?qū)ο缶幊陶Z(yǔ)言:如Java、C、Python等,這些語(yǔ)言支持類和對(duì)象的概念,以及封裝、繼承和多態(tài)等面向?qū)ο筇匦?。語(yǔ)言特點(diǎn)編程語(yǔ)言的選擇與特點(diǎn)01命名規(guī)范采用有意義的變量名、函數(shù)名、類名等,遵循駝峰命名法或下劃線命名法。02代碼風(fēng)格保持代碼整潔、一致,遵循一定的縮進(jìn)和空格規(guī)范,提高代碼可讀性。03注釋規(guī)范添加必要的注釋,解釋代碼的功能、實(shí)現(xiàn)原理等,方便他人理解和維護(hù)。04單一職責(zé)原則一個(gè)類只負(fù)責(zé)一個(gè)功能,降低類的復(fù)雜度。05開閉原則對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉,通過(guò)抽象和繼承實(shí)現(xiàn)代碼的靈活性和可維護(hù)性。06里氏替換原則子類能夠替換父類并出現(xiàn)在父類能夠出現(xiàn)的任何地方,保持繼承關(guān)系的正確性。編程規(guī)范與最佳實(shí)踐常見(jiàn)問(wèn)題的解決方案通過(guò)繼承、組合等方式實(shí)現(xiàn)代碼的重用,減少重復(fù)代碼量。通過(guò)接口或抽象類定義統(tǒng)一的方法規(guī)范,實(shí)現(xiàn)不同對(duì)象間的多態(tài)行為。采用try-catch語(yǔ)句捕獲和處理異常,保證程序的穩(wěn)定性和健壯性。針對(duì)性能瓶頸進(jìn)行針對(duì)性優(yōu)化,如采用緩存技術(shù)、減少數(shù)據(jù)庫(kù)訪問(wèn)次數(shù)等。代碼重用多態(tài)問(wèn)題異常處理性能優(yōu)化面向?qū)ο蟮臏y(cè)試與評(píng)估PART06通過(guò)輸入和輸出來(lái)驗(yàn)證對(duì)象的功能是否正確,常用工具有JUnit、TestNG等。黑盒測(cè)試通過(guò)分析對(duì)象的內(nèi)部結(jié)構(gòu)和邏輯來(lái)設(shè)計(jì)測(cè)試用例,常用工具有JProfiler、VisualVM等。白盒測(cè)試結(jié)合黑盒和白盒測(cè)試方法,既關(guān)注對(duì)象的外部表現(xiàn)也關(guān)注內(nèi)部邏輯,常用工具有Selenium、Appium等?;液袦y(cè)試測(cè)試方法與工具介紹評(píng)估測(cè)試用例對(duì)對(duì)象功能的覆蓋程度,包括語(yǔ)句覆蓋、分支覆蓋、條件覆蓋等。覆蓋率評(píng)估對(duì)象的質(zhì)量,通過(guò)缺陷數(shù)量、缺陷密度、缺陷趨勢(shì)等指標(biāo)來(lái)衡量。缺陷率評(píng)估對(duì)象的性能表現(xiàn),包括響應(yīng)時(shí)間、吞吐量、資源利用率等。性能指標(biāo)評(píng)估指標(biāo)與標(biāo)準(zhǔn)制定通過(guò)代碼審查、靜態(tài)分析等技術(shù)手段預(yù)防缺陷的產(chǎn)生。缺陷預(yù)防提高測(cè)試效率,減少人工干預(yù),降低測(cè)試成本。測(cè)試自動(dòng)化將測(cè)試與開發(fā)流程緊密結(jié)合,實(shí)現(xiàn)快速反饋和持續(xù)改進(jìn)。持續(xù)集成與持續(xù)交付采

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論