天天看点

设计模式(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) -- 享元模式

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

继续阅读