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

正文內(nèi)容

面向?qū)ο笤O(shè)計(jì)ppt課件-wenkub.com

2025-05-04 08:33 本頁面
   

【正文】 ? 合成復(fù)用原則要求復(fù)用時(shí)盡量使用對(duì)象組合,而不使用繼承。 ? 開閉原則要求一個(gè)軟件實(shí)體應(yīng)當(dāng)對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉,即在不修改源代碼的基礎(chǔ)上擴(kuò)展一個(gè)系統(tǒng)的行為。 迪米特法則 ?迪米特法則分析 ?迪米特法則的主要用途在于 控制信息的過載 : ? 在類的劃分上,應(yīng)當(dāng)盡量 創(chuàng)建松耦合的類 ,類之間的耦合度越低,就越有利于復(fù)用,一個(gè)處在松耦合中的類一旦被修改,不會(huì)對(duì)關(guān)聯(lián)的類造成太大波及; ? 在類的結(jié)構(gòu)設(shè)計(jì)上,每一個(gè)類都應(yīng)當(dāng) 盡量降低其成員變量和成員函數(shù)的訪問權(quán)限 ; ? 在類的設(shè)計(jì)上,只要有可能, 一個(gè)類型應(yīng)當(dāng)設(shè)計(jì)成不變類 ; ? 在對(duì)其他類的引用上, 一個(gè)對(duì)象對(duì)其他對(duì)象的引用應(yīng)當(dāng)降到最低 。 O b j e c t A O b j e c t B O b j e c t CO b j e c t A A c c e s s B o u n d a r y迪米特法則 ? 迪米特法則分析 ? 狹義的迪米特法則:可以 降低類之間的耦合 ,但是會(huì)在系統(tǒng)中增加大量的小方法并散落在系統(tǒng)的各個(gè)角落,它可以使一個(gè)系統(tǒng)的局部設(shè)計(jì)簡(jiǎn)化,因?yàn)槊恳粋€(gè)局部都不會(huì)和遠(yuǎn)距離的對(duì)象有直接的關(guān)聯(lián),但是也會(huì) 造成系統(tǒng)的不同模塊之間的通信效率降低 ,使得系統(tǒng)的不同模塊之間不容易協(xié)調(diào)。 迪米特法則 ? 迪米特法則分析 ? 在迪米特法則中,對(duì)于一個(gè)對(duì)象,其朋友包括以下幾類: ? (1) 當(dāng)前對(duì)象本身 (this); ? (2) 以參數(shù)形式傳入到當(dāng)前對(duì)象方法中的對(duì)象; ? (3) 當(dāng)前對(duì)象的成員對(duì)象; ? (4) 如果當(dāng)前對(duì)象的成員對(duì)象是一個(gè)集合,那么集合中的元素也都是朋友; ? (5) 當(dāng)前對(duì)象所創(chuàng)建的對(duì)象。英文定義為: Talk only to your immediate friends. ? (3) 每一個(gè)軟件單位對(duì)其他的單位都只有最少的知識(shí),而且局限于那些與本單位密切相關(guān)的軟件單位。 ? 現(xiàn)使用合成復(fù)用原則對(duì)其進(jìn)行重構(gòu)。( “白箱” 復(fù)用 ) ? 組合 /聚合復(fù)用:耦合度相對(duì)較低,選擇性地調(diào)用成員對(duì)象的操作;可以在運(yùn)行時(shí)動(dòng)態(tài)進(jìn)行。簡(jiǎn)言之:要盡量使用組合 /聚合關(guān)系,少用繼承 。 接口隔離原則 ?接口隔離原則實(shí)例 ?實(shí)例說明 ? 下圖展示了一個(gè)擁有多個(gè)客戶類的系統(tǒng),在系統(tǒng)中定義了一個(gè)巨大的接口(胖接口) AbstractService來服務(wù)所有的客戶類。因此可能需要進(jìn)行重新編譯和發(fā)布。 ?可以在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)采用 定制服務(wù) 的方式,即 為不同的客戶端提供寬窄不同的接口 ,只提供用戶需要的行為,而隱藏用戶不需要的行為。每一個(gè)接口應(yīng)該承擔(dān)一種相對(duì)獨(dú)立的角色,不多不少,不干不該干的事,該干的事都要干。 ? 另一種定義方法如下: ? 一旦一個(gè) 接口太大 ,則需要將它 分割成一些更細(xì)小的接口 ,使用該接口的客戶端僅需知道與之相關(guān)的方法即可。 依賴倒轉(zhuǎn)原則 ?依賴倒轉(zhuǎn)原則實(shí)例 ?實(shí)例說明 ? 由于需求的變化,該系統(tǒng)可能需要增加新的數(shù)據(jù)源或者新的文件格式,每增加一個(gè)新的類型的數(shù)據(jù)源或者新的類型的文件格式,客戶類 MainClass都需要修改源代碼,以便使用新的類,但違背了開閉原則。這就是面向?qū)ο笾械摹耙蕾嚨罐D(zhuǎn)”原則。 ? 但是軟件是不斷變化的,軟件的需求也是變化的,如果將來業(yè)務(wù)又?jǐn)U大了,該自動(dòng)駕駛系統(tǒng)還有能實(shí)現(xiàn)通用、三菱、大眾汽車,這樣我們不得不又要修改 AutoSystem類了。這大大降低了客戶程序域?qū)崿F(xiàn)細(xì)節(jié)的耦合度。 依賴倒轉(zhuǎn)原則 ?依賴倒轉(zhuǎn)原則分析 ?類之間的耦合 ? 零耦合 關(guān)系 ? 具體耦合 關(guān)系 ? 抽象耦合 關(guān)系 ?依賴倒轉(zhuǎn)原則要求客戶端依賴于抽象耦合, 以抽象方式耦合是依賴倒轉(zhuǎn)原則的關(guān)鍵 。 抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象。 里氏代換原則 ?里氏代換原則實(shí)例 ?實(shí)例說明 ? 某系統(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)加密操作。注意在類中調(diào)用其他類時(shí)務(wù)必調(diào)用父類,如果不能調(diào)用父類,說明類的射擊已經(jīng)違反了 LSP原則。 ? 其英文定義為: ? Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it. 里氏代換原則 ?里氏代換原則分析 ?里氏代換原則可以通俗表述為:在 軟件中如果能夠使用基類對(duì)象,那么一定能夠使用其子類對(duì)象 。讓類依賴于固定的抽象,所以對(duì)修改就是封閉的;而通過面向?qū)ο蟮睦^承和多態(tài)機(jī)制,可以實(shí)現(xiàn)對(duì)抽象體的繼承,通過覆寫其方法來改變固有行為,實(shí)現(xiàn)新的擴(kuò)展方法,所以對(duì)于擴(kuò)展就是開放的。 ? 開放封閉原則主要體現(xiàn)在兩個(gè)方面: 對(duì)擴(kuò)展開放,意味著有新的需求或變化時(shí),可以對(duì)現(xiàn)有代碼進(jìn)行擴(kuò)展,以適應(yīng)新的情況。 單一職責(zé)原則 ?單一職責(zé)原則實(shí)例 ? 實(shí)例解析 開閉原則 ?開閉原則定義 ?開閉原則 (OpenClosed Principle, OCP)定義如下: ? 一個(gè)軟件實(shí)體應(yīng)當(dāng) 對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉 。 ? 因此要重構(gòu) Modem類,從中抽象出兩個(gè)接口,一個(gè)專門負(fù)責(zé)連接,另一個(gè)專門負(fù)責(zé)數(shù)據(jù)傳送。 ? 單一職責(zé)原則是實(shí)現(xiàn) 高內(nèi)聚、低耦合 的指導(dǎo)方針,在很多代碼重構(gòu)手法中都能找到它的存在,它是最簡(jiǎn)單但又最難運(yùn)用的原則,需要設(shè)計(jì)人員發(fā)現(xiàn)類的不同職責(zé)并將其分離,而發(fā)現(xiàn)類的多重職責(zé)需要設(shè)計(jì)人員具有較強(qiáng)的分析設(shè)計(jì)能力和相關(guān)重構(gòu)經(jīng)驗(yàn)。 設(shè)計(jì)原則名稱 設(shè)計(jì)原則簡(jiǎn)介 重要性 單一職責(zé)原則 (Single Responsibility Principle, SRP) 類的職責(zé)要單一,不能將太多的職責(zé)放在一個(gè)類中 ★★★★☆ 開閉原則 (OpenClosed Principle, OCP) 軟件實(shí)體對(duì)擴(kuò)展是開放的,但對(duì)修改是關(guān)閉的,即在不修改一 個(gè)軟件實(shí)體的基礎(chǔ)上去擴(kuò)展其功能 ★★★★★ 里氏代換原則 (Liskov Substitution Principle, LSP) 在軟件系統(tǒng)中,一
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1