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

正文內(nèi)容

面向?qū)ο蟮脑O(shè)計原則與模式-展示頁

2025-01-16 01:57本頁面
  

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