設計模式精煉(三): 結構型01

      網友投稿 708 2022-05-29

      外觀模式(Facade)

      外觀模式主要是將客戶端直接與多個模塊打交道的方式改為客戶端與門面打交道,然后門面再去與各個模塊打交道。客戶可以不知道各個模塊的具體實現甚至可以不用知道模塊是否存在。

      例:

      |- Facade模式還可以用在子系統的某些功能不需要暴露給其他子系統的情況,如下:

      例:

      享元模式

      以共享的方式高效地支持大量的細粒度對象,目的是減少多次利用的對象重復創建對內存造成較大的開銷。

      |- 英文是flyweight,輕量級的。但是根據設計模式中的概念,將此譯為享元,意思是共享元數據,相當于共享對象。

      |- Java中String類型就是使用了享元模式,String對象是final類型的,Java中的字符串常量都是存在常量池中的。

      例:

      結果為:true

      單純向元模式:共享對象

      共享對象

      例:

      結果如下:

      21685669

      instrinsicState :a

      設計模式精煉(三): 結構型01

      extrinsicState :first

      19997786

      instrinsicState :b

      extrinsicState :second

      21685669

      instrinsicState :a

      extrinsicState :third

      由此可見,第一次和第三次對象的hashCode一樣,說明在內存地址中是同一個對象。

      復雜享元模式

      將一些單純享元使用合成模式加以復合,形成復合享元對象。這樣的復合享元對象本身不能共享,但是它們可以分解成單純享元對象,而后者則可以共享。

      例:

      運行結果:

      a: 21685669

      instrinsicState :a

      extrinsicState :composite -->

      b: 19997786

      instrinsicState :b

      extrinsicState :composite -->

      c: 24079912

      instrinsicState :c

      extrinsicState :composite -->

      +++++++++++++++

      復合享元是不可以共享:false

      23050916,32379559

      單純享元是可以共享的:true

      fly1: 21685669,state: a

      fly2: 21685669,state: a

      fly3: 19997786,state: b

      代理模式

      給某一個對象提供一個代理對象,并由代理對象控制對原對象的引用,類似于中介,客戶與客戶之間無法直接進行交流,需要使用一個媒介。

      例:

      本文轉載自微信公眾號【java學習之道】。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:共享上級出現相同節點數量累加的問題如何調整?
      下一篇:使用Sphinx為Python項目生成幫助文檔
      相關文章
      西西人体44rt高清亚洲| 亚洲AV无码一区二区乱孑伦AS| 亚洲AV人无码激艳猛片| 在线观看午夜亚洲一区| 色天使亚洲综合一区二区| 亚洲成在人线在线播放无码| 亚洲色成人四虎在线观看| 亚洲熟女乱色一区二区三区| 亚洲午夜精品一区二区麻豆| 亚洲中文字幕乱码熟女在线| 亚洲色在线无码国产精品不卡| 亚洲中文字幕乱码熟女在线| 亚洲国产aⅴ成人精品无吗| 亚洲a∨无码一区二区| 国产亚洲日韩在线a不卡| 成人亚洲国产精品久久| 亚洲国产精品视频| 国产成人精品日本亚洲专区 | 亚洲精品无码专区在线在线播放| 精品国产亚洲男女在线线电影| 亚洲国产成人VA在线观看| 久久99亚洲综合精品首页| 国产亚洲精品久久久久秋霞| 国产精品亚洲A∨天堂不卡| 亚洲大片在线观看| 亚洲精品资源在线| 精品亚洲成在人线AV无码| 亚洲日韩一区二区三区| 国产亚洲男人的天堂在线观看| 国产L精品国产亚洲区久久| 亚洲人成在线播放网站| 亚洲综合精品香蕉久久网97| 亚洲一区无码中文字幕乱码| 亚洲国产精品日韩av不卡在线| 亚洲Aⅴ无码一区二区二三区软件| 亚洲伊人成无码综合网 | 国产精品亚洲AV三区| 亚洲视频人成在线播放| 亚洲va国产va天堂va久久| 亚洲高清中文字幕| 亚洲色偷偷色噜噜狠狠99网|