日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

享元模式 Composite

發(fā)布時間:2024/8/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 享元模式 Composite 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

介紹享元模式(Flyweight),運行共享技術(shù)有效地支持大量細粒度的對象,避免大量擁有相同內(nèi)容的小類的開銷(如耗費內(nèi)存),使大家共享一個類(元類)。

?

如果以繪圖為例的話,一個文字是一個繪圖元件,一個線段是一個繪圖元件,而一個長方形也是一個繪圖元件,這些繪圖元件可以組成一個圖片,如果將這個圖片也 視作一個繪圖元件,則這么遞回繪圖下去,就可以組合成一個較大的、復(fù)雜的圖形元件,這樣的目的可以使用Composite模式來解決。

對于使用者而言,無論是文字、線段或長方形,甚至是組合后的圖片元件,它們都擁有一個共同的行為,使用者基本上并不會感覺出它們之間的操作有任何的不同,您可以拖曳、放大、縮小等等,這些行為都是一致的。

以 UML 來表示上面這個例子的結(jié)構(gòu):?
對于Text、Line與Rectangle而言,Picture是一個容器,然而Picture繼承Graphic類,所以它也是一個繪圖元件,您可以進一步的將Picture組合至另一個Picture中,以形成較大的、復(fù)雜的圖形。

組合模式的UML結(jié)構(gòu)圖如下所示:?

依此架構(gòu),您可以遞回的組合圖形元件,例如:
除了繪圖元件之外,一些具有層次性或組合性的物件也可以使用Composite模式,像是電路元件、設(shè)備元件等等,使用Composite模式可以大大減低這些元件設(shè)計的復(fù)雜度。

轉(zhuǎn)載于:https://www.cnblogs.com/xiari/p/3376244.html

總結(jié)

以上是生活随笔為你收集整理的享元模式 Composite的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。