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

正文內(nèi)容

第八講設(shè)計(jì)模式-文庫(kù)吧

2024-09-08 13:25 本頁(yè)面


【正文】 們的新的操作。 3 . 行為式:處理對(duì)象間的交互方式和任務(wù)分布 設(shè)計(jì)模式的問(wèn)題和解決方案 ? 問(wèn)題:模式過(guò)多! ? Pattern Almanac 2020列出了大約 500種設(shè)計(jì)模式,并且又發(fā)布了數(shù)百種模式。 ? 解決方案:找到根本原則 ? 大多數(shù)設(shè)計(jì)模式可以被視為少數(shù)幾個(gè) GRASP基本原則的特化。這樣除了能夠有助于加速對(duì)詳細(xì)設(shè)計(jì)模式的學(xué)習(xí)之外,而且對(duì)發(fā)現(xiàn)其根本的基本主題(防止變異、多態(tài)、間接性等)更為有效,它能夠幫助我們透過(guò)大量細(xì)節(jié)發(fā)現(xiàn)應(yīng)用設(shè)計(jì)技術(shù)的本質(zhì)。 適配器( Adapter) GoF ? 名稱:適配器( Adapter) ? 問(wèn)題:如何解決不相容的接口問(wèn)題,或者如何為具有不同接口的類似構(gòu)件提供穩(wěn)定的接口? ? 解決方案(建議):通過(guò)中介適配器對(duì)象,將構(gòu)件的原有接口轉(zhuǎn)換為其他接口 適配器 示例 ? 例如, POS系統(tǒng)需要支持第三方外部服務(wù),其中包括稅金計(jì)算器、信用卡授權(quán)服務(wù)、庫(kù)存系統(tǒng)和賬務(wù)系統(tǒng)。它們都具有不同的 API,而且無(wú)法改變。 ? 解決方案之一:增加一層間接性對(duì)象,通過(guò)這些對(duì)象將不同的外部接口調(diào)整為在應(yīng)用程序內(nèi)使用的一致接口。 適配器 示例 適配器模式 適配器 示例 使用適配器 適配器、外觀的區(qū)別 ? 外觀( Fa231。ade)是資源適配器使用單一對(duì)象封裝了對(duì)子系統(tǒng)或系統(tǒng)的訪問(wèn)(外觀的本質(zhì))。而當(dāng)包裝對(duì)象是為不同外部接口提供適配時(shí),該對(duì)象才被特稱為資源適配器 適配器與某些 GRASP核心原則的關(guān)系 防止變異 低耦合機(jī)制 高內(nèi)聚機(jī)制 多態(tài)示例 間接性機(jī)制 純虛構(gòu) 適配器 工廠( Factory) ? 該模式也稱為簡(jiǎn)單工廠( Simple Factory)或具體工廠( Concrete Factory)。該模式不是 GoF設(shè)計(jì)模式,它是 GoF抽象工廠( Abstract Factory)模式的簡(jiǎn)化,應(yīng)用極為廣泛。 ? 適配器在設(shè)計(jì)中會(huì)引發(fā)一個(gè)新問(wèn)題:在前述適配器模式的解決方案中,對(duì)外部服務(wù)有不同的接口,那么是誰(shuí)創(chuàng)建了這些適配器?并且如何決定創(chuàng)建哪種類的適配器,例如是創(chuàng)建 TaxMasterAdapter還是GoodAsGoldTaxProAdapter? 工廠( Factory) ? 如果是某個(gè)領(lǐng)域?qū)ο髞?lái)創(chuàng)建這些適配器,那么領(lǐng)域?qū)ο蟮穆氊?zé)會(huì)超出了單純的應(yīng)用邏輯(例如銷售總額的計(jì)算),并且會(huì)涉及到與外部軟件構(gòu)件連接相關(guān)的其他內(nèi)容。 ? 基本設(shè)計(jì)原則之一(通常被視為構(gòu)架設(shè)計(jì)原則):設(shè)計(jì)要保持關(guān)注分離( separation of concern),將不同關(guān)注分離或模塊化為不同領(lǐng)域,以確保內(nèi)聚。 工廠( Factory) ? 常用的替代方案是使用工廠模式,其中定義純虛構(gòu)的“工廠”對(duì)象來(lái)創(chuàng)建對(duì)象。 ? 工廠對(duì)象有如下一些優(yōu)勢(shì): ? 分離復(fù)雜創(chuàng)建的職責(zé),并將其分配給內(nèi)聚的幫助者對(duì)象 ? 隱藏潛在的復(fù)雜創(chuàng)建邏輯 ? 允許引入提高性能的內(nèi)存管理策略,例如對(duì)象緩存或再生 工廠( Factory) ? 名稱:工廠( Factory) ? 問(wèn)題:當(dāng)有特殊考慮(例如存在復(fù)雜創(chuàng)建邏輯、為了改良內(nèi)聚而分離創(chuàng)建職責(zé)等)時(shí),應(yīng)該由誰(shuí)來(lái)負(fù)責(zé)創(chuàng)建對(duì)象? ? 解決方案(建議):創(chuàng)建稱為工廠的純虛構(gòu)對(duì)象來(lái)處理這些創(chuàng)建職責(zé) 工廠( Factory) 示例 工廠模式 單例( Singleton) GoF ? 工廠對(duì)象的設(shè)計(jì)引發(fā)了另一個(gè)新問(wèn)題:由誰(shuí)來(lái)創(chuàng)建工廠自身,如何訪問(wèn)工廠? ? 首先,注意在該過(guò)程中只需要一個(gè)工廠實(shí)例。其次,因?yàn)樵诖a的不同位置都需要訪問(wèn)適配器以調(diào)用外部服務(wù),所以我們很快就會(huì)提出要在代碼的不同位置調(diào)用工廠中的方法。因此,這里也存在可見性問(wèn)題:如何獲得單個(gè) ServicesFactory實(shí)例的可見性? 單例( GoF) ? 名稱:?jiǎn)卫?Singleton) ? 問(wèn)題:只有唯一實(shí)例的類即為“單例類”。對(duì)象需要全局可見性和單點(diǎn)訪問(wèn)。 ? 解決方案(建議):對(duì)類定義靜態(tài)方法用以返回單例 單例( GoF) 示例 在 ServiceFactory類中的單例模式 策略( Strategy) GoF ? 問(wèn)題:如何提供較為復(fù)雜的定價(jià)邏輯,例如商店在某天的折扣、老年人折扣等等。 ? 銷售的定價(jià)策略(也可以稱為規(guī)則、政策或算法)具有多樣性。在一段時(shí)期內(nèi),對(duì)于所有的銷售可能會(huì)有
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1