c請高手解惑,關於設計模式中「享元模式 Flyweight

時間 2022-05-02 23:20:02

1樓:力幼禕

個人理解:這個模式應用的目的是在於建立一個物件集合,就和一個列舉型別一樣,而這裡是實現了物件的列舉。具體我在應用中遇到過的就是命令處理指令集合用這樣的方式進行編寫,**邏輯很清晰。

關於哪個讀取文件的效果,我想應該是為了解決每個字母有不同的屬性而這麼列舉的吧,如果是中文漢字,處理方法確實沒研究。

設計模式中,屬於結構型模式的有哪些

2樓:我是

設計模式主要分三個型別:建立型、結構型和行為型。

其中建立型有:

一、singleton,單例模式:保證一個類只有一個例項,並提供一個訪問它的全域性訪問點

二、abstract factory,抽象工廠:提供一個建立一系列相關或相互依賴物件的介面,而無須指定它們的具體類。

三、factory method,工廠方法:定義一個用於建立物件的介面,讓子類決定例項化哪一個類,factory method使一個類的例項化延遲到了子類。

四、builder,建造模式:將一個複雜物件的構建與他的表示相分離,使得同樣的構建過程可以建立不同的表示。

五、prototype,原型模式:用原型例項指定建立物件的種類,並且通過拷貝這些原型來建立新的物件。

行為型有:

六、iterator,迭代器模式:提供一個方法順序訪問一個聚合物件的各個元素,而又不需要暴露該物件的內部表示。

七、observer,觀察者模式:定義物件間一對多的依賴關係,當一個物件的狀態發生改變時,所有依賴於它的物件都得到通知自動更新。

八、template method,模板方法:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中,templatemethod使得子類可以不改變一個演算法的結構即可以重定義該演算法得某些特定步驟。

九、command,命令模式:將一個請求封裝為一個物件,從而使你可以用不同的請求對客戶進行引數化,對請求排隊和記錄請求日誌,以及支援可撤銷的操作。

十、state,狀態模式:允許物件在其內部狀態改變時改變他的行為。物件看起來似乎改變了他的類。

十一、strategy,策略模式:定義一系列的演算法,把他們一個個封裝起來,並使他們可以互相替換,本模式使得演算法可以獨立於使用它們的客戶。

十二、china of responsibility,職責鏈模式:使多個物件都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關係

十三、mediator,中介者模式:用一箇中介物件封裝一些列的物件互動。

十四、visitor,訪問者模式:表示一個作用於某物件結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用於這個元素的新操作。

十五、interpreter,直譯器模式:給定一個語言,定義他的文法的一個表示,並定義一個直譯器,這個直譯器使用該表示來解釋語言中的句子。

十六、memento,備忘錄模式:在不破壞物件的前提下,捕獲一個物件的內部狀態,並在該物件之外儲存這個狀態。

結構型有:

十七、composite,組合模式:將物件組合成樹形結構以表示部分整體的關係,composite使得使用者對單個物件和組合物件的使用具有一致性。

十八、facade,外觀模式:為子系統中的一組介面提供一致的介面,fa?ade提供了一高層介面,這個介面使得子系統更容易使用。

十九、proxy,**模式:為其他物件提供一種**以控制對這個物件的訪問

二十、adapter,介面卡模式:將一類的介面轉換成客戶希望的另外一個介面,adapter模式使得原本由於介面不相容而不能一起工作那些類可以一起工作。

二十一、decrator,裝飾模式:動態地給一個物件增加一些額外的職責,就增加的功能來說,decorator模式相比生成子類更加靈活。

二十二、bridge,橋模式:將抽象部分與它的實現部分相分離,使他們可以獨立的變化。

二十三、flyweight,享元模式

j**a23個設計模式有哪些

3樓:匿名使用者

一共23種設計模式!

引用《軟體祕笈-設計模式那點事》書籍:

按照目的來分,設計模式可以分為建立型模式、結構型模式和行為型模式。

建立型模式用來處理物件的建立過程;結構型模式用來處理類或者物件的組合;行為型模式用來對類或物件怎樣互動和怎樣分配職責進行描述。

建立型模式用來處理物件的建立過程,主要包含以下5種設計模式:

 工廠方法模式(factory method pattern) 抽象工廠模式(abstract factory pattern) 建造者模式(builder pattern) 原型模式(prototype pattern) 單例模式(singleton pattern)結構型模式用來處理類或者物件的組合,主要包含以下7種設計模式:

 介面卡模式(adapter pattern) 橋接模式(bridge pattern) 組合模式(composite pattern) 裝飾者模式(decorator pattern) 外觀模式(facade pattern) 享元模式(flyweight pattern) **模式(proxy pattern)行為型模式用來對類或物件怎樣互動和怎樣分配職責進行描述,主要包含以下11種設計模式:

 責任鏈模式(chain of responsibility pattern)

 命令模式(command pattern) 直譯器模式(interpreter pattern) 迭代器模式(iterator pattern) 中介者模式(mediator pattern) 備忘錄模式(memento pattern) 觀察者模式(observer pattern) 狀態模式(state pattern) 策略模式(strategy pattern) 模板方法模式(template method pattern) 訪問者模式(visitor pattern)

4樓:手機使用者

這些光看看例子是搞不懂的,主要應該實踐,建議看看《漫談設計模式——從物件導向開始》 ,裡面有很多實踐,而且講述了很多開源框架的**和使用的模式,iteye上有

設計模式都有哪些?

5樓:bruce於

設計模式主要分三個型別:建立型、結構型和行為型。

其中建立型有:

一、singleton,單例模式:保證一個類只有一個例項,並提供一個訪問它的全域性訪問點

二、abstract factory,抽象工廠:提供一個建立一系列相關或相互依賴物件的介面,而無須指定它們的具體類。

三、factory method,工廠方法:定義一個用於建立物件的介面,讓子類決定例項化哪一個類,factory method使一個類的例項化延遲到了子類。

四、builder,建造模式:將一個複雜物件的構建與他的表示相分離,使得同樣的構建過程可以建立不同的表示。

五、prototype,原型模式:用原型例項指定建立物件的種類,並且通過拷貝這些原型來建立新的物件。

行為型有:

六、iterator,迭代器模式:提供一個方法順序訪問一個聚合物件的各個元素,而又不需要暴露該物件的內部表示。

七、observer,觀察者模式:定義物件間一對多的依賴關係,當一個物件的狀態發生改變時,所有依賴於它的物件都得到通知自動更新。

八、template method,模板方法:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中,templatemethod使得子類可以不改變一個演算法的結構即可以重定義該演算法得某些特定步驟。

九、command,命令模式:將一個請求封裝為一個物件,從而使你可以用不同的請求對客戶進行引數化,對請求排隊和記錄請求日誌,以及支援可撤銷的操作。

十、state,狀態模式:允許物件在其內部狀態改變時改變他的行為。物件看起來似乎改變了他的類。

十一、strategy,策略模式:定義一系列的演算法,把他們一個個封裝起來,並使他們可以互相替換,本模式使得演算法可以獨立於使用它們的客戶。

十二、china of responsibility,職責鏈模式:使多個物件都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關係

十三、mediator,中介者模式:用一箇中介物件封裝一些列的物件互動。

十四、visitor,訪問者模式:表示一個作用於某物件結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用於這個元素的新操作。

十五、interpreter,直譯器模式:給定一個語言,定義他的文法的一個表示,並定義一個直譯器,這個直譯器使用該表示來解釋語言中的句子。

十六、memento,備忘錄模式:在不破壞物件的前提下,捕獲一個物件的內部狀態,並在該物件之外儲存這個狀態。

結構型有:

十七、composite,組合模式:將物件組合成樹形結構以表示部分整體的關係,composite使得使用者對單個物件和組合物件的使用具有一致性。

十八、facade,外觀模式:為子系統中的一組介面提供一致的介面,fa?ade提供了一高層介面,這個介面使得子系統更容易使用。

十九、proxy,**模式:為其他物件提供一種**以控制對這個物件的訪問

二十、adapter,介面卡模式:將一類的介面轉換成客戶希望的另外一個介面,adapter模式使得原本由於介面不相容而不能一起工作那些類可以一起工作。

二十一、decrator,裝飾模式:動態地給一個物件增加一些額外的職責,就增加的功能來說,decorator模式相比生成子類更加靈活。

二十二、bridge,橋模式:將抽象部分與它的實現部分相分離,使他們可以獨立的變化。

二十三、flyweight,享元模式

j**a常用的的設計模式和開發模式都有哪些

6樓:小

你可以去看書 有本叫大話設計模式的 不過初學者最好不要先看這個 先學好基本的吧

c語言指標陣列問題,求高手解惑

錯誤很明顯啊,int length char p 需要一個char 引數,你的str 卻是char 是一個指標陣列,明顯型別不匹配 看你的程式,應該是想輸入一個字串並判斷其長度吧 你把char str 20 改成 char str 試試 include include int length char...

電路計算公式請高手解惑P UI U

紫忠忻酉 對於純電阻的電器,可以用p ui u r或p i r。而電動機電路為非純電阻電路,電功率p ui用於轉化為機械功率和熱功率,所以用p u r計算的只是風扇的熱功率。顯然要比銘牌上標明的實際功率要小得多了 符玉蓉亥月 你真的動手做測量,值得表揚p u i a 適用於所有的電路.而公式p u ...

關於c 學習,迷惑中,請高手指點

1全部我現在一直在用c 程式設計,或者說是,純c 的程式設計,不用mfc。其實剛出來工作,公司最看重的是你的基礎知識,你去公司面試的時候,人家考你的大多是c 的一些基本語法和一些演算法,不要以為你在學mfc了c 的語法就很好了。個人認為c 比其他開發語言有前途,希望你能堅持。學習過程覺得難往往是基礎...