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

正文內(nèi)容

面向?qū)ο蟮脑O(shè)計(jì)原則與模式(已修改)

2025-01-19 01:57 本頁(yè)面
 

【正文】 第 5章 面向?qū)ο蟮脑O(shè)計(jì)模式及應(yīng)用 目標(biāo) ? 掌握設(shè)計(jì)模式的基本概念 ? 掌握幾個(gè)基本的設(shè)計(jì)模式 ? 學(xué)會(huì)運(yùn)用常見(jiàn)的設(shè)計(jì)模式 ? 理解面向?qū)ο蟮脑O(shè)計(jì)原則 內(nèi)容大綱 ? 從一個(gè)例子開(kāi)始 —— 影片出租店的程序 ? 什么是設(shè)計(jì)模式 ? 幾個(gè)基本的設(shè)計(jì)模式 ?單例模式、工廠(chǎng)模式、原型模式、組合模式、適配器模式、橋接模式、裝飾模式、責(zé)任鏈模式 ? 面向?qū)ο蟮脑O(shè)計(jì)原則 從一個(gè)例子開(kāi)始 —— 影片出租店的程序 ? 這是一個(gè)影片出租店的程序,計(jì)算每一位顧客的消費(fèi)金額并打印報(bào)表。操作者告訴程序:顧客租了哪些影片、租期多長(zhǎng),程序便根據(jù)租賃時(shí)間和影片類(lèi)型算出費(fèi)用。影片分為三類(lèi):普通片、兒童片和新片。除了計(jì)算費(fèi)用還要為??陀?jì)算點(diǎn)數(shù);點(diǎn)數(shù)會(huì)隨著“租片種類(lèi)是否為新片”而有所不同。 影片出租店的程序 ? 初始代碼 ? 這個(gè)起始程序給你留下什么印象?我會(huì)說(shuō)他設(shè)計(jì)的不好,而且很明顯不符合面向?qū)ο蟮木?。?duì)于這樣的一個(gè)小程序,這點(diǎn)缺點(diǎn)其實(shí)沒(méi)有什么關(guān)系??焖俣S性( quick and dirty)地設(shè)計(jì)一個(gè)簡(jiǎn)單的程序并沒(méi)有錯(cuò)。但如果這是復(fù)雜系統(tǒng)中具有代表性的一段,那么我就真的要對(duì)這個(gè)程序信息動(dòng)搖了。 Customer里頭那個(gè)長(zhǎng)長(zhǎng)的 statement()做的事情實(shí)在太多了,他做了很多原本應(yīng)該由其他 class完成的事情。 影片出租店的程序 ? 即便如此,這個(gè)程序還能繼續(xù)工作。所以這只是美學(xué)意義上的判斷,只是對(duì)丑陋代碼的厭惡,是嗎?在我們修改這個(gè)系統(tǒng)之前的確如此。編譯器才不會(huì)在乎代碼好不好看呢。但是當(dāng)我們打算修改系統(tǒng)的時(shí)候,就涉及到了人,而人在乎這些。差勁的系統(tǒng)是很難修改的,因?yàn)楹茈y找到修改點(diǎn)。如果很難找到修改點(diǎn),程序員就很有可能犯錯(cuò),從而引入「臭蟲(chóng)」( bugs)。 影片出租店的程序 ? 在這個(gè)例子里 , 我們的用戶(hù)希望對(duì)系統(tǒng)做一點(diǎn)修改 。 首先他們希望以 HTML格式打印報(bào)表 , 這樣就可以直接在網(wǎng)頁(yè)上顯示 , 這非常符合潮流 。 現(xiàn)在請(qǐng)你想一想 , 這個(gè)變化會(huì)帶來(lái)什么影響 。 看看代碼你就會(huì)發(fā)現(xiàn) , 根本不可能在打印HTML報(bào)表的函數(shù)中復(fù)用 ( reuse) 目前 statement()的任何行為 。 你 唯 一 可 以 做 的 就 是 編 寫(xiě) 一 個(gè) 全 新 的htmlstatement(),大量重復(fù) statement()行為 。 當(dāng)然 , 現(xiàn)在做這個(gè)還不太費(fèi)力 , 你可以把 statement()復(fù)制一份然后按需要修改就是 。 影片出租店的程序 ? 但如果計(jì)費(fèi)標(biāo)準(zhǔn)發(fā)生變化 , 又會(huì)發(fā)生什么事 ? 你必須同時(shí)修改 statement()和 htmlstatement(), 并確保兩處修改的一致性 。 當(dāng)你后續(xù)還有再修改時(shí) , 剪貼 ( copypaste) 問(wèn)題就浮現(xiàn)出來(lái)了 。 如果你編寫(xiě)的是一個(gè)永不需要修改的程序 , 那么剪剪貼貼就還好 , 但如果程序要保存很長(zhǎng)時(shí)間 ,而且可能需要修改 , 剪貼行為就會(huì)造成潛在的威脅 。 影片出租店的程序 ? 現(xiàn)在 , 第二個(gè)變化來(lái)了:用戶(hù)希望改變影片分類(lèi)規(guī)則 , 但是還沒(méi)有決定怎么改 。 他們?cè)O(shè)想了幾種方案 , 這些方案都會(huì)影響顧客消費(fèi)和??头e點(diǎn)的計(jì)算方式 。 作為一個(gè)經(jīng)驗(yàn)豐富的開(kāi)發(fā)者 , 你可以肯定:不論用戶(hù)提出什么方案 , 你唯一能夠獲得的保證就是他們一定會(huì)在若干個(gè)月之內(nèi)再次修改它 。 影片出租店的程序 ? 為了應(yīng)付分類(lèi)規(guī)則和計(jì)費(fèi)規(guī)則的變化 , 程序必須對(duì)statement()作出修改 。 但如果我們把 statement()內(nèi)的代碼拷貝到用以打印 HTML報(bào)表的函數(shù)中 , 我們就必須確保將來(lái)的任何修改在兩個(gè)地方保持一致 。 隨著各種規(guī)則變得愈來(lái)愈復(fù)雜 , 適當(dāng)?shù)男薷狞c(diǎn)愈來(lái)愈難找 , 不犯錯(cuò)的機(jī)會(huì)也愈來(lái)愈少 。 影片出租店的程序 ? 你的態(tài)度也許傾向 「 盡量少修改
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1