設(shè)計(jì)模式學(xué)習(xí)專(zhuān)題培訓(xùn)課件_第1頁(yè)
設(shè)計(jì)模式學(xué)習(xí)專(zhuān)題培訓(xùn)課件_第2頁(yè)
設(shè)計(jì)模式學(xué)習(xí)專(zhuān)題培訓(xùn)課件_第3頁(yè)
設(shè)計(jì)模式學(xué)習(xí)專(zhuān)題培訓(xùn)課件_第4頁(yè)
設(shè)計(jì)模式學(xué)習(xí)專(zhuān)題培訓(xùn)課件_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

設(shè)計(jì)模式學(xué)習(xí)OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型面向?qū)ο缶幊虒?duì)象(Object)『對(duì)問(wèn)題領(lǐng)域中事物的抽象』◆萬(wàn)物皆對(duì)象◆唯一◆屬性行為◆狀態(tài)◆屬于某類(lèi)Object-OrientedProgramming問(wèn)題領(lǐng)域(ProgramDomain)『軟件系統(tǒng)所模擬的真實(shí)世界中的系統(tǒng)』類(lèi)(Class)『一組具有相同屬性和行為的對(duì)象的抽象』接口(Interface)『系統(tǒng)對(duì)外提供的所有服務(wù)』『接口類(lèi)型』描述能夠提供哪些服務(wù),不包含服務(wù)的實(shí)現(xiàn)細(xì)節(jié)抽象(Abstract)『從特定角度出發(fā),從已存在的一些事物中抽取所關(guān)注的特性,形成一個(gè)新的事物的思維過(guò)程』◆從問(wèn)題領(lǐng)域的事物到軟件模型中對(duì)象的抽象◆從對(duì)象到類(lèi)的抽象◆從子類(lèi)到父類(lèi)的抽象基

本概念OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型面向?qū)ο缶幊汤^承(Inheritance)『繼承是子類(lèi)使用父類(lèi)的方法』Object-OrientedProgramming封裝(Encapsulate)『隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開(kāi)接口』多態(tài)(Polymorphism)『接口的多種不同的實(shí)現(xiàn)方式即為多態(tài)』3大特征OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型面向?qū)ο缶幊桃蕾?lài)(Dependency)『類(lèi)之間的調(diào)用關(guān)系』Object-OrientedProgramming關(guān)聯(lián)(Association)『類(lèi)之間的特定對(duì)應(yīng)關(guān)系』聚集(Aggregation)『整體與部分之間的關(guān)系』泛化(Generalization)『類(lèi)之間的繼承關(guān)系』實(shí)現(xiàn)(Realization)『類(lèi)與接口之間的關(guān)系』5種關(guān)系OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型單一職責(zé)原則(SingleResponsibilityPrinciple)里氏替換原則(LiskovSubstitutionPrinciple)依賴(lài)倒轉(zhuǎn)原則(DependenceInversionPrinciple)接口隔離原則(InterfaceSegregationPrinciple)迪米特法則(DemeterPrinciple)合成復(fù)用原則(CompositeReusePrinciple)總原則:開(kāi)閉原則(OpenClosePrinciple)『對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉』為了使程序的擴(kuò)展性好,易于維護(hù)和升級(jí)在程序需要進(jìn)行拓展的時(shí)候,不能去修改原有代碼,而是要擴(kuò)展原有代碼,實(shí)現(xiàn)一個(gè)熱插拔效果設(shè)計(jì)模式六大原則6大原則OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型單一職責(zé)原則SingleResponsibilityPrinciple『應(yīng)該有且僅有一個(gè)原因引起類(lèi)的變更』類(lèi)的復(fù)雜性降低可讀性提高可維護(hù)性提高變更風(fēng)險(xiǎn)低OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型里氏替換原則LiskovSubstitutionPrinciple『所有引用基類(lèi)的地方必須能透明地使用其子類(lèi)的對(duì)象』子類(lèi)必須完全實(shí)現(xiàn)父類(lèi)的方法子類(lèi)可以有自己的個(gè)性覆蓋或?qū)崿F(xiàn)父類(lèi)的方法時(shí)輸入?yún)?shù)可以被放大(子類(lèi)輸入?yún)?shù)的類(lèi)型寬于父類(lèi))覆寫(xiě)或?qū)崿F(xiàn)父類(lèi)的方法時(shí)輸出結(jié)果可以被縮小OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型依賴(lài)倒置原則DependenceInversionPrinciple『面向接口編程,依賴(lài)于抽象而不依賴(lài)于具體』高層模塊不應(yīng)該依賴(lài)底層模塊,兩者都應(yīng)該依賴(lài)其抽象抽象不應(yīng)該依賴(lài)細(xì)節(jié)細(xì)節(jié)應(yīng)該依賴(lài)抽象OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型接口隔離原則InterfaceSegregationPrinciple『接口盡量細(xì)化,同時(shí)接口中的方法盡量少』客戶(hù)端不應(yīng)該依賴(lài)它不需要的接口類(lèi)間的依賴(lài)關(guān)系應(yīng)該建立在最小的接口上·接口要盡量小·接口要高內(nèi)聚·定制服務(wù)·接口設(shè)計(jì)是有限度的OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型迪米特法則DemeterPrinciple『一個(gè)對(duì)象應(yīng)該對(duì)其他對(duì)象有最少的了解』只和朋友交流朋友間也是有距離的不是自己的就是自己的謹(jǐn)慎使用Serializable(序列化)OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型合成復(fù)用原則CompositeReusePrinciple『盡量使用合成/聚合的方式,而不是使用繼承』在面向?qū)ο笤O(shè)計(jì)中,可以通過(guò)兩種方法在不同的環(huán)境中復(fù)用已有的設(shè)計(jì)和實(shí)現(xiàn),即通過(guò)組合/聚合關(guān)系或通過(guò)繼承,但首先應(yīng)該考慮使用組合/聚合,組合/聚合可以使系統(tǒng)更加靈活,降低類(lèi)與類(lèi)之間的耦合度,一個(gè)類(lèi)的變化對(duì)其他類(lèi)造成的影響相對(duì)較少;其次才考慮繼承,在使用繼承時(shí),需要嚴(yán)格遵循里氏代換原則,有效使用繼承會(huì)有助于對(duì)問(wèn)題的理解,降低復(fù)雜度,而濫用繼承反而會(huì)增加系統(tǒng)構(gòu)建和維護(hù)的難度以及系統(tǒng)的復(fù)雜度,因此需要慎重使用繼承復(fù)用OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型設(shè)計(jì)模式概覽23種模式創(chuàng)建型模式工廠方法模式抽象工廠模式單例模式建造者模式原型模式結(jié)構(gòu)型模式適配器模式裝飾器模式代理模式門(mén)面模式橋接模式組合模式享元模式行為型模式策略模式模板方法模式觀察者模式迭代子模式責(zé)任鏈模式命令模式備忘錄模式狀態(tài)模式訪問(wèn)者模式中介者模式解釋器模式OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型單例模式SingletonPattern『確保某一個(gè)類(lèi)只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型工廠方法模式FactoryMethodPattern『定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類(lèi)決定實(shí)例化哪一個(gè)類(lèi),使一個(gè)類(lèi)的實(shí)例化延遲到其子類(lèi)』一個(gè)抽象產(chǎn)品類(lèi),可以派生出多個(gè)具體產(chǎn)品類(lèi)一個(gè)抽象工廠類(lèi),可以派生出多個(gè)具體工廠類(lèi)每個(gè)具體工廠類(lèi)通常只能創(chuàng)建一個(gè)具體產(chǎn)品類(lèi)的實(shí)例OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型抽象工廠模式AbstractFactoryPattern『為創(chuàng)建一組相關(guān)或相互依賴(lài)的對(duì)象提供一個(gè)接口,而且無(wú)需指定他們的具體類(lèi)』多個(gè)抽象產(chǎn)品類(lèi),每個(gè)抽象產(chǎn)品類(lèi)可以派生出多個(gè)具體產(chǎn)品類(lèi)一個(gè)抽象工廠類(lèi),可以派生出多個(gè)具體工廠類(lèi)每個(gè)具體工廠類(lèi)可以創(chuàng)建多個(gè)具體產(chǎn)品類(lèi)的實(shí)例OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型原型模式PrototypePattern『用原型實(shí)例指定創(chuàng)建對(duì)象的種類(lèi),并且通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型建造者模式BuilderPattern『將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可創(chuàng)建不同的表示』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型享元模式FlyweightPattern『使用共享對(duì)象可有效地支持大量的細(xì)粒度的對(duì)象』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型代理模式ProxyPattern『為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型門(mén)面模式FacadePattern『要求一個(gè)子系統(tǒng)的外部與其內(nèi)部的通信必須通過(guò)一個(gè)統(tǒng)一的對(duì)象進(jìn)行。門(mén)面模式提供一個(gè)高層的接口,使得子系統(tǒng)更易于使用』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型適配器模式AdapterPattern『將一個(gè)類(lèi)的接口變換成客戶(hù)端所期待的另一種接口,從而使原本因接口不匹配而無(wú)法在一起工作的兩個(gè)類(lèi)能夠在一起工作』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型橋接模式BridgePattern『將抽象和實(shí)現(xiàn)解耦,使得兩者可以獨(dú)立地變化』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型組合模式CompositePattern『將對(duì)象組合成樹(shù)形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu),使得用戶(hù)對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型裝飾模式DecoratorPattern『將對(duì)象組合成樹(shù)形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu),使得用戶(hù)對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性』+++OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型策略模式StrategyPattern『定義一組算法,將每個(gè)算法都封裝起來(lái),并且使它們之間可以互換』找喬國(guó)老,造輿論謊報(bào)荊州危情,給劉備收心找孫尚香斷后,掩護(hù)劉備過(guò)江OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型狀態(tài)模式StatePattern『當(dāng)對(duì)象的狀態(tài)改變時(shí),同時(shí)改變其行為』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型模板方法模式TemplateMethodPattern『定義一個(gè)操作中的算法的框架,而將一些步驟延遲到子類(lèi)中,使得子類(lèi)可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型觀察者模式ObserverPattern『定義對(duì)象間一種一對(duì)多的依賴(lài)關(guān)系,使得每當(dāng)一個(gè)對(duì)象改變狀態(tài),則所有依賴(lài)于它的對(duì)象都會(huì)得到通知并被自動(dòng)更新』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型迭代器模式IteratorPattern『它提供一種方法訪問(wèn)一個(gè)容器對(duì)象中各個(gè)元素,而又不需暴露該對(duì)象內(nèi)部細(xì)節(jié)』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型責(zé)任鏈模式ChainofResponsibilityPattern『使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免了請(qǐng)求的發(fā)送者和接受者之間的耦合關(guān)系,并沿著這條鏈傳遞該請(qǐng)求,直到有對(duì)象處理它為止』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型命令模式CommandPattern『將一個(gè)請(qǐng)求封裝成一個(gè)對(duì)象,從而讓你使用不同的請(qǐng)求把客戶(hù)端參數(shù)化,對(duì)請(qǐng)求排隊(duì)或者記錄請(qǐng)求日志,可以提供命令的撤銷(xiāo)和恢復(fù)功能』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型備忘錄模式MementoPattern『在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài),這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)』OOP概要六大原則創(chuàng)建型結(jié)構(gòu)型行為型訪問(wèn)者模式VisitorPattern『封裝一些作用于某種數(shù)據(jù)結(jié)構(gòu)中的各元素的操作,它可以在不改

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論