14 C#設(shè)計模式-享元模式.ppt_第1頁
14 C#設(shè)計模式-享元模式.ppt_第2頁
14 C#設(shè)計模式-享元模式.ppt_第3頁
14 C#設(shè)計模式-享元模式.ppt_第4頁
14 C#設(shè)計模式-享元模式.ppt_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、設(shè)計模式、享受元模式、_、大綱、享受元模式概述享受元模式的結(jié)構(gòu)和應(yīng)用示例:享受元模式的外部狀態(tài)、簡單享受元模式和復(fù)合享受元模式的優(yōu)缺點和適用環(huán)境、享受元模式概述、動機(jī)如果軟件系統(tǒng)在運(yùn)行時創(chuàng)建了太多相同或相似的對象,將導(dǎo)致運(yùn)行成本高、系統(tǒng)資源浪費(fèi)、性能下降等問題。如何在不影響客戶端程序以面向?qū)ο蟮姆绞讲僮鬟@些對象的情況下,避免系統(tǒng)中出現(xiàn)大量相同或相似的對象?享受模式、享受模式概述、人物享受對象示意圖、享受模式概述、享受模式分析:通過共享技術(shù)實現(xiàn)相同或相似對象的重用;輕量級池:存儲共享實例對象的地方;欣賞模式概述,內(nèi)部狀態(tài)分析:狀態(tài)存儲在欣賞對象內(nèi)部,不隨環(huán)境變化,內(nèi)部狀態(tài)可以共享(如人物內(nèi)容),

2、外部狀態(tài):狀態(tài)不可共享,隨環(huán)境變化而變化。享受對象的外部狀態(tài)通常由客戶端保存,然后在創(chuàng)建后需要使用時轉(zhuǎn)移到享受對象中。一個外部狀態(tài)和另一個外部狀態(tài)相互獨立(例如,字符的顏色和大小)。共享模式的概述,原則(1)將具有相同內(nèi)部狀態(tài)的對象存儲在共享池中,共享池中的對象可以被共享(2)必要時從共享池中取出對象,即重用對象(3)將不同的外部狀態(tài)注入取出的對象中,可以獲得一系列相似的對象,但是這些對象實際上只在存儲器中存儲一個副本,這包括共享元模式的概述, 對象行為模式的概述,共享元模式的概述,以及共享元模式的定義,也稱為輕量級模式,它要求可以共享的對象必須是細(xì)粒度對象,共享元模式的結(jié)構(gòu)和實現(xiàn),共享元模式

3、的結(jié)構(gòu)和實現(xiàn),享受模式的結(jié)構(gòu)享受模式包括以下四個角色:Flyweight(抽象享受類),具體享受類,非共享具體享受類,F(xiàn)lyweightFactory,以及享受模式的結(jié)構(gòu)和實現(xiàn)。 典型抽象享受模式代碼:享受模式的結(jié)構(gòu)和實現(xiàn),典型具體享受模式代碼:享受模式的實現(xiàn),典型非共享具體享受模式代碼:享受模式的結(jié)構(gòu)和實現(xiàn),享受模式的實現(xiàn),典型享受工廠類代碼:享受模式的應(yīng)用實例。范例類圖,圍棋棋子結(jié)構(gòu)圖,游戲模式應(yīng)用范例,范例代碼(1)圍棋棋子:圍棋棋子類,作為抽象游戲類(2)黑棋棋子:黑棋棋子類,作為具體游戲類(3)白棋棋子:白棋棋子類,作為具體游戲類(4)圍棋棋子工廠:圍棋棋子工廠類,作為游戲工廠類(5

4、)程序:客戶測試類,演示,參考代碼(設(shè)計模式重量樣本),游戲模式應(yīng)用范例,結(jié)果和分析單例模式和工廠保證了享受工廠對象的唯一性,提供了將享受對象返回給客戶端的工廠方法,以及具有外部狀態(tài)的享受模式。這個動機(jī)如何使同一個黑子或白子在棋盤上的不同位置重復(fù)顯示?解決方案:將棋子的位置定義為棋子的外部狀態(tài),然后在必要時進(jìn)行設(shè)置。有外部狀態(tài)圍棋棋子的共享模式和結(jié)構(gòu)、外部狀態(tài)共享模式、實現(xiàn)、簡單共享模式和復(fù)合共享模式。簡單共享模式的所有特定共享類都可以共享,沒有非共享共享的特定共享類,簡單共享模式和復(fù)合共享模式復(fù)合共享模式復(fù)合共享模式使用組合模式組合一些簡單的享受對象。如果您想為具有不同內(nèi)部狀態(tài)的多個享受對象設(shè)置相同的外部狀態(tài),可以考慮使用復(fù)合享受模式。享受模式及其適用環(huán)境的優(yōu)缺點,該模式的優(yōu)點是可以減少內(nèi)存中的對象數(shù)量,使相同或相似的對象只有一個副本可以保存在內(nèi)存中,從而節(jié)省系統(tǒng)資源,提高系統(tǒng)性能。而且它不會影響它的內(nèi)部狀態(tài),所以這個享受對象可以在不同的環(huán)境中共享。享受模式及其適用環(huán)境的優(yōu)缺點,這種模式的缺點使系統(tǒng)變得復(fù)雜,需要將內(nèi)部狀態(tài)與外部狀態(tài)分開,這使得程序的邏輯變得復(fù)雜。為了使對象可共享,享受模式需要外化享受對象的一些狀態(tài),而讀取外部狀態(tài)會使運(yùn)行時間變長。享受模式的利弊及適用環(huán)境。模式適用環(huán)境系統(tǒng)有大量相同或相似的對象,這導(dǎo)致大量的內(nèi)存消耗。對象的大部分狀態(tài)可以被外部化,這些外部狀態(tài)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論