freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向?qū)ο笤O(shè)計(jì)ppt課件(編輯修改稿)

2025-06-03 08:33 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 氏代換原則 ? 因此,如果子類不能完整地實(shí)現(xiàn)父類的方法,那么建議斷開父子繼承關(guān)系,采用依賴,聚合,組合等關(guān)系代替繼承。 ? 子類可以有自己的屬性或方法。 里氏代換原則 ?里氏代換原則實(shí)例 ?實(shí)例說(shuō)明 ? 某系統(tǒng)需要實(shí)現(xiàn)對(duì)重要數(shù)據(jù)(如用戶密碼)的加密處理,在數(shù)據(jù)操作類 (DataOperator)中需要調(diào)用加密類中定義的加密算法,系統(tǒng)提供了兩個(gè)不同的加密類, CipherA和 CipherB,它們實(shí)現(xiàn)不同的加密方法,在DataOperator中可以選擇其中的一個(gè)實(shí)現(xiàn)加密操作。如圖所示: 里氏代換原則 ?里氏代換原則實(shí)例 ?實(shí)例說(shuō)明 ? 如果需要更換一個(gè)加密算法類或者增加并使用一個(gè)新的加密算法類,如將 CipherA改為 CipherB,則需要修改客戶類 Client和數(shù)據(jù)操作類 DataOperator的源代碼,違背了開閉原則。 ? 現(xiàn)使用里氏代換原則對(duì)其進(jìn)行重構(gòu),使得系統(tǒng)可以靈活擴(kuò)展,符合開閉原則。 里氏代換原則 ? 里氏代換原則實(shí)例 ? 實(shí)例解析 DataOperator cipherA : CipherA + + setCipherA (CipherA cipherA) encrypt (String plainText) : void : String CipherA + encrypt (String plainText) : String CipherB + encrypt (String plainText) : String Client + main (String args[]) : void 依賴倒轉(zhuǎn)原則 ? 依賴倒轉(zhuǎn)原則定義 ? 依賴倒轉(zhuǎn)原則 (Dependence Inversion Principle, DIP)的定義如下: ? 高層模塊 不應(yīng)該依賴低層模塊 ,它們都應(yīng)該 依賴抽象 。 抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象。 ? 其英文定義為: ? High level modules should not depend upon low level modules, both should depend upon abstractions. Abstractions should not depend upon details, details should depend upon abstractions. ? 另一種表述為: ? 要 針對(duì)接口編程 , 不要針對(duì)實(shí)現(xiàn)編程 。 ? 其英文定義為: ? Program to an interface, not an implementation. 依賴倒轉(zhuǎn)原則 ?依賴倒轉(zhuǎn)原則分析 ?簡(jiǎn)單來(lái)說(shuō),依賴倒轉(zhuǎn)原則就是指: 代碼要依賴于抽象的類,而不要依賴于具體的類 ; 要針對(duì)接口或抽象類編程,而不是針對(duì)具體類編程 。 ?實(shí)現(xiàn)開閉原則的關(guān)鍵是抽象化,并且從抽象化導(dǎo)出具體化實(shí)現(xiàn),如果說(shuō) 開閉原則是面向?qū)ο笤O(shè)計(jì)的目標(biāo)的話 ,那么 依賴倒轉(zhuǎn)原則就是面向?qū)ο笤O(shè)計(jì)的主要手段 。 依賴倒轉(zhuǎn)原則 ?依賴倒轉(zhuǎn)原則分析 ?類之間的耦合 ? 零耦合 關(guān)系 ? 具體耦合 關(guān)系 ? 抽象耦合 關(guān)系 ?依賴倒轉(zhuǎn)原則要求客戶端依賴于抽象耦合, 以抽象方式耦合是依賴倒轉(zhuǎn)原則的關(guān)鍵 。 依賴倒轉(zhuǎn)原則 ? 面向過(guò)程的開發(fā),上層調(diào)用下層,上層依賴于下層,當(dāng)下層劇烈變化時(shí),上層也要跟著變化,這就會(huì)導(dǎo)致模塊的復(fù)用性降低而且大大提高了開發(fā)的成本。 ? 面向?qū)ο蟮拈_發(fā)很好的解決了這個(gè)問(wèn)題,一般的情況下抽象的變化概率很小,讓用戶程序依賴于抽象,實(shí)現(xiàn)的細(xì)節(jié)也依賴于抽象。即使實(shí)現(xiàn)細(xì)節(jié)不斷變化,只要抽象不變,客戶程序就不需要變化。這大大降低了客戶程序域?qū)崿F(xiàn)細(xì)節(jié)的耦合度。 依賴倒轉(zhuǎn)原則 ? 比如一個(gè)合資汽車公司現(xiàn)在要求開發(fā)一個(gè)自動(dòng)駕駛系統(tǒng),只要汽車上安裝上這個(gè)系統(tǒng),就可以實(shí)現(xiàn)無(wú)人駕駛,該系統(tǒng)可以在福特車系列和本田車系列上使用。面向過(guò)程的結(jié)構(gòu)圖: 依賴倒轉(zhuǎn)原則 ? 但是如何現(xiàn)在公司業(yè)務(wù)規(guī)模擴(kuò)大了,該自動(dòng)駕駛系統(tǒng)還要把吉普車也兼容了。這些就需要修改AutoSystem類 。 ? 但是軟件是不斷變化的,軟件的需求也是變化的,如果將來(lái)業(yè)務(wù)又?jǐn)U大了,該自動(dòng)駕駛系統(tǒng)還有能實(shí)現(xiàn)通用、三菱、大眾汽車,這樣我們不得不又要修改 AutoSystem類了。這樣會(huì)導(dǎo)致系統(tǒng)越來(lái)越臃腫,越來(lái)越大,而且依賴越來(lái)越多低層模塊,只有低層模塊變動(dòng), AutoSystem類就不得不跟著變動(dòng),導(dǎo)致系統(tǒng)設(shè)計(jì)變得非常脆弱和僵硬。 依賴倒轉(zhuǎn)原則 ? 導(dǎo)致上面所述問(wèn)題一個(gè)原因是,含有高層策略的模塊,如 AutoSystem模塊,依賴于它所控制的低層的具體細(xì)節(jié)的模塊(如 FordCar和 HondaCar)。如果能使 AutoSystem模塊獨(dú)立于它所控制的具體細(xì)節(jié),而是依賴抽象,那么我們就可以服用它了。這就是面向?qū)ο笾械摹耙蕾嚨罐D(zhuǎn)”原則。如下類圖: 依賴倒轉(zhuǎn)原則 ? 現(xiàn)在 Autosystem系統(tǒng)依賴于 ICar這個(gè)抽象,而與具體的實(shí)現(xiàn)細(xì)節(jié)HondaCar:和 FordCar無(wú)關(guān),所以實(shí)現(xiàn)細(xì)節(jié)的變化不會(huì)影響 AutoSystem.對(duì)于實(shí)現(xiàn)細(xì)節(jié)只要實(shí)現(xiàn)ICar即可。即實(shí)現(xiàn)細(xì)節(jié)依賴于 ICar抽象。 依賴倒轉(zhuǎn)原則 ?依賴倒轉(zhuǎn)原則實(shí)例 ?實(shí)例說(shuō)明 ? 某系統(tǒng)提供一個(gè)數(shù)據(jù)轉(zhuǎn)換模塊,可以將來(lái)自不同數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換成多種格式,如可以轉(zhuǎn)換來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù) (DatabaseSource)、也可以轉(zhuǎn)換來(lái)自文本文件的數(shù)據(jù) (TextSource),轉(zhuǎn)換后的格式可以是 XML文件 (XMLTransformer)、也可以是 XLS文件 (XLSTransformer)等。 依賴倒轉(zhuǎn)原則 ?依賴倒轉(zhuǎn)原則實(shí)例 ?實(shí)例說(shuō)明 ? 由于需求的變化,該系統(tǒng)可能需要增加新的數(shù)據(jù)源或者新的文件格式,每增加一個(gè)新的類型的數(shù)據(jù)源或者新的類型的文件格式,客戶類 MainClass都需要修改源代碼,以便使用新的類,但違背了開閉原則?,F(xiàn)使用依賴倒轉(zhuǎn)原則對(duì)其進(jìn)行重構(gòu)。 依賴倒轉(zhuǎn)原則 ?依賴倒轉(zhuǎn)原則實(shí)例 ?實(shí)例解析 接口隔離原則 ? 接口隔離原則定義 ? 接口隔離原則 (Interface Segregation Principle, ISP)的定義如下: ? 客戶端 不應(yīng)該依賴 那些 它不需要的接口 。 ? 其英文定義
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1