天天看點

設計模式(18) -- 享元模式

文章目錄

  • ​​需求​​
  • ​​傳統解決方式​​
  • ​​弊端​​
  • ​​享元模式​​
  • ​​介紹​​
  • ​​類圖​​
  • ​​享元模式解決網站外包問題​​
  • ​​享元模式在源碼中的使用​​
  • ​​享元模式的注意事項和細節​​
  • ​​推薦一篇享元模式的好文章​​

需求

設計模式(18) -- 享元模式

傳統解決方式

設計模式(18) -- 享元模式

弊端

設計模式(18) -- 享元模式

享元模式

介紹

設計模式(18) -- 享元模式

類圖

設計模式(18) -- 享元模式

對原理圖的說明

即 模 式的角色及職 責

1)FlyWeight 是抽象的享元角色 , 他是産品的抽象類 , 同時定義出對象的 外部狀态 和 内部狀态 後面介紹 ) 的接口或實作

2)ConcreteFlyWeight 是具體的享元角色,是具體的産品類,實作抽象角色定義相關業務

3)UnSharedConcreteFlyWeight 是不可共享的角色,一般不會出現在享元工廠。

設計模式(18) -- 享元模式

享元模式解決網站外包問題

設計模式(18) -- 享元模式

WebSite

設計模式(18) -- 享元模式

ConcreteWebSite

設計模式(18) -- 享元模式

WebSiteFactory

設計模式(18) -- 享元模式

Client

設計模式(18) -- 享元模式
設計模式(18) -- 享元模式

git位址:

​​https://github.com/hufanglei/java-design/tree/flyweight​​

享元模式在源碼中的使用

享元模式在 JDK Interger 的應用源碼分析

設計模式(18) -- 享元模式

享元模式的注意事項和細節

設計模式(18) -- 享元模式

推薦一篇享元模式的好文章

繼續閱讀