![面向?qū)ο蟮姆治雠c設(shè)計課件-設(shè)計篇_第1頁](http://file4.renrendoc.com/view11/M02/12/0F/wKhkGWerqpGAUTjqAAGKVUMnP80045.jpg)
![面向?qū)ο蟮姆治雠c設(shè)計課件-設(shè)計篇_第2頁](http://file4.renrendoc.com/view11/M02/12/0F/wKhkGWerqpGAUTjqAAGKVUMnP800452.jpg)
![面向?qū)ο蟮姆治雠c設(shè)計課件-設(shè)計篇_第3頁](http://file4.renrendoc.com/view11/M02/12/0F/wKhkGWerqpGAUTjqAAGKVUMnP800453.jpg)
![面向?qū)ο蟮姆治雠c設(shè)計課件-設(shè)計篇_第4頁](http://file4.renrendoc.com/view11/M02/12/0F/wKhkGWerqpGAUTjqAAGKVUMnP800454.jpg)
![面向?qū)ο蟮姆治雠c設(shè)計課件-設(shè)計篇_第5頁](http://file4.renrendoc.com/view11/M02/12/0F/wKhkGWerqpGAUTjqAAGKVUMnP800455.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
面向?qū)ο蟮姆治雠c設(shè)計-設(shè)計篇面向?qū)ο笤O(shè)計的基本原則抽象封裝繼承多態(tài)性類的設(shè)計1封裝隱藏內(nèi)部實現(xiàn)細節(jié)2抽象關(guān)注核心概念和行為3繼承復(fù)用現(xiàn)有代碼4多態(tài)實現(xiàn)靈活的代碼識別類的責(zé)任和接口責(zé)任類的責(zé)任是指它負責(zé)做什么,或者說它能為其他對象提供哪些服務(wù)。每個類都應(yīng)該有一個明確的責(zé)任,并且應(yīng)該專注于完成這項責(zé)任。接口類的接口定義了它如何與其他對象交互,即其他對象如何使用它的服務(wù)。接口應(yīng)該清晰、簡單,并且應(yīng)該只包含與該類責(zé)任相關(guān)的操作。誰是這個類的客戶?確定類的客戶可以幫助我們更好地理解類的責(zé)任。類的客戶是那些使用該類的其他類或模塊。例如,一個表示"訂單"的類,它的客戶可能是"購物車"類,"支付"類,"訂單歷史記錄"類等。通過識別類的客戶,我們可以更好地設(shè)計類的接口,確??蛻裟軌蚍奖愕厥褂迷擃?。類的繼承代碼復(fù)用繼承允許子類繼承父類的屬性和方法,避免重復(fù)代碼編寫。多態(tài)性子類可以重寫父類的方法,實現(xiàn)不同類型的對象具有相同行為的特性。代碼可擴展性通過繼承,可以更容易地擴展現(xiàn)有代碼,添加新的功能或修改現(xiàn)有行為。類的組合代碼復(fù)用組合允許您將現(xiàn)有類的功能集成到新類中,從而避免重復(fù)代碼。靈活性和可擴展性通過組合,您可以輕松地添加或刪除功能,而無需修改現(xiàn)有代碼。清晰的職責(zé)劃分組合有助于將代碼分解成更小的、易于管理的模塊,從而提高代碼的可維護性。封裝和抽象隱藏實現(xiàn)細節(jié)封裝意味著將數(shù)據(jù)和方法隱藏在類的內(nèi)部,只暴露必要的接口給外部使用,從而保護數(shù)據(jù)安全,提高代碼可維護性。專注于核心功能抽象則強調(diào)隱藏具體實現(xiàn),只提供抽象的概念和接口,讓使用者無需關(guān)注底層細節(jié),簡化操作。多態(tài)性概念多態(tài)性是指一個接口或方法可以有多種不同的實現(xiàn)形式,使程序能夠在運行時根據(jù)實際類型選擇不同的行為。優(yōu)勢提高代碼的靈活性和可擴展性,使程序更容易維護和修改。示例不同類型的動物都可以發(fā)出聲音,但具體的聲音形式取決于動物的類型。設(shè)計模式概述設(shè)計模式是解決軟件設(shè)計中常見問題的可重用解決方案。它們提供經(jīng)過驗證的最佳實踐,幫助我們創(chuàng)建可維護、可擴展和靈活的代碼。設(shè)計模式的六大原則開放封閉原則對擴展開放,對修改關(guān)閉。依賴倒置原則面向接口編程,依賴抽象,不依賴具體。單一職責(zé)原則一個類只負責(zé)一個功能。接口隔離原則客戶端不應(yīng)該依賴它不需要的接口。簡單工廠模式簡單工廠模式提供了一種創(chuàng)建對象的機制,它將對象的創(chuàng)建過程封裝在一個單獨的工廠類中。工廠類負責(zé)根據(jù)不同的參數(shù)創(chuàng)建不同的對象,從而將對象的創(chuàng)建過程與使用對象的代碼分離。簡單工廠模式的優(yōu)點是易于使用,但缺點是擴展性較差,當需要添加新的產(chǎn)品類型時,需要修改工廠類,這違反了開閉原則。工廠方法模式定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。抽象工廠模式抽象工廠模式提供了一種創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定具體的類。它定義了一個創(chuàng)建相關(guān)或相互依賴對象的接口。它可以提供多個不同的實現(xiàn)來創(chuàng)建不同類型的產(chǎn)品系列。單例模式單例模式確保一個類只有一個實例,并提供一個全局訪問點。它通過控制實例化過程來保證唯一性,并提供一個靜態(tài)方法來獲取實例。單例模式在以下場景中非常有用:管理共享資源控制實例數(shù)量提供全局訪問點建造者模式步驟分離將復(fù)雜對象的構(gòu)建過程分解成獨立的步驟,每個步驟對應(yīng)一個方法。靈活構(gòu)建通過不同的建造者實現(xiàn)不同的構(gòu)建方式,從而創(chuàng)建不同的復(fù)雜對象。隱藏構(gòu)建細節(jié)客戶無需關(guān)注對象的具體構(gòu)建過程,只需要調(diào)用建造者方法即可獲得最終對象。原型模式克隆通過創(chuàng)建對象的副本,實現(xiàn)創(chuàng)建新對象的效率。不需要重新創(chuàng)建新對象。靈活性原型模式可以輕松地創(chuàng)建具有不同屬性和狀態(tài)的對象,以滿足各種需求。適配器模式適配器模式,將一個類的接口轉(zhuǎn)換成客戶希望的另一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的類可以一起工作。例如,一個需要使用舊版API的類,可以創(chuàng)建一個適配器,將舊版API的接口轉(zhuǎn)換為新版API的接口,從而讓該類可以繼續(xù)使用。裝飾模式裝飾模式(DecoratorPattern)是一種結(jié)構(gòu)型設(shè)計模式,允許在不修改原有對象的情況下,動態(tài)地為對象添加新的功能。它通過創(chuàng)建一個裝飾器對象,將原始對象包裹起來,并在裝飾器對象中實現(xiàn)新的功能。裝飾器對象可以層層包裹,從而為原始對象添加多個功能。裝飾模式的特點是:它通過組合的方式擴展對象的功能,而不是繼承。它允許在運行時動態(tài)地添加功能,而不需要修改原始對象。它遵循開放-封閉原則,允許在不修改原有代碼的情況下添加新功能。代理模式代理模式為對象提供一個替身或占位符,以控制對這個對象的訪問。代理模式可以將客戶與目標對象隔離,以保護目標對象,或控制對目標對象的訪問權(quán)限。代理模式可以提供額外的功能,例如緩存、日志記錄和安全檢查。外觀模式外觀模式提供了一個簡化的接口,隱藏了系統(tǒng)內(nèi)部的復(fù)雜性。它為子系統(tǒng)提供一個統(tǒng)一的入口,簡化了客戶端的調(diào)用方式。例如,一個數(shù)據(jù)庫系統(tǒng)可能包含多個模塊,包括連接、查詢、事務(wù)處理等。外觀模式可以提供一個統(tǒng)一的接口,讓客戶端只需調(diào)用外觀模式提供的接口,而無需了解內(nèi)部的復(fù)雜細節(jié)。橋接模式橋接模式橋接模式將抽象部分與實現(xiàn)部分分離,使兩者可以獨立變化。它在抽象和實現(xiàn)之間建立一個橋接,從而允許用戶將不同的抽象和實現(xiàn)進行組合。應(yīng)用場景橋接模式適用于需要將抽象和實現(xiàn)分離,并允許它們獨立變化的場景,例如不同的平臺、操作系統(tǒng)、數(shù)據(jù)庫等。組合模式組合模式將對象組合成樹形結(jié)構(gòu),以表示“部分-整體”層次結(jié)構(gòu)。它允許客戶端以一致的方式處理單個對象和組合對象。組合模式通常用于表示文件系統(tǒng)、菜單系統(tǒng)、圖形繪制等。享元模式享元模式是一種結(jié)構(gòu)型設(shè)計模式,它通過共享對象來減少內(nèi)存消耗,提高性能。該模式利用了對象池的概念,將多個相同或相似的對象存儲在一個池中,當需要使用這些對象時,直接從池中獲取,而不是每次都重新創(chuàng)建新對象。享元模式的優(yōu)點在于減少了對象的創(chuàng)建和銷毀次數(shù),節(jié)省了內(nèi)存和系統(tǒng)資源,提高了程序的運行效率。策略模式定義算法族策略模式封裝了算法家族,并讓它們可以互相替換。算法獨立策略模式讓算法的改變不會影響使用算法的客戶。靈活可擴展策略模式使代碼更靈活,易于維護,便于擴展新策略。觀察者模式觀察者模式定義了一種一對多的依賴關(guān)系,讓多個觀察者對象同時監(jiān)聽一個主題對象。當主題對象的狀態(tài)發(fā)生變化時,所有觀察者都會得到通知并自動更新。例如,在一個電子商務(wù)網(wǎng)站中,用戶添加到購物車時,觀察者模式可以通知用戶、庫存管理系統(tǒng)和訂單管理系統(tǒng)等相關(guān)系統(tǒng)更新狀態(tài)。命令模式請求封裝將請求封裝為對象,以便參數(shù)化客戶。隊列或日志支持可撤銷操作和事務(wù)。支持可擴展性方便添加新的命令。模板方法模式模板方法模式定義一個算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變算法的結(jié)構(gòu)的情況下,重新定義算法的某些特定步驟。迭代器模式遍歷集合提供一種統(tǒng)一的方式來訪問集合元素,無需關(guān)心集合的內(nèi)部結(jié)構(gòu)。解耦遍歷邏輯將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車機修工轉(zhuǎn)正申請書
- 體測緩測申請書
- 求職申請書英語
- 工傷鑒定申請書
- 總工會困難職工申請書
- 競選學(xué)生會干部申請書
- 生產(chǎn)計劃中的風(fēng)險管理與應(yīng)對策略
- 貧困大學(xué)生助學(xué)金申請書
- 2024-2025學(xué)年高中歷史專題1中國傳統(tǒng)文化主流思想的演變3宋明理學(xué)練習(xí)含解析人民版必修3
- 2024-2025學(xué)年高中生物第四章生物的變異第一節(jié)生物變異的來源Ⅱ教案浙科版必修2
- 川教版小學(xué)信息技術(shù)四年級下冊教案-全冊
- 2024年電工(高級技師)職業(yè)鑒定理論考試題庫-下(多選、判斷題)
- 20S515 鋼筋混凝土及磚砌排水檢查井
- 醫(yī)院重點監(jiān)控藥品管理制度
- 《藥品管理法》知識考試題庫300題(含答案)
- 助貸機構(gòu)業(yè)務(wù)流程規(guī)范
- DL∕T 5106-2017 跨越電力線路架線施工規(guī)程
- 西師大版數(shù)學(xué)四年級下冊全冊教學(xué)課件(2024年3月修訂)
- 骨科醫(yī)院感染控制操作流程
- 綠化養(yǎng)護服務(wù)投標方案(技術(shù)標)
- 九年級物理第一課
評論
0/150
提交評論