0
点赞
收藏
分享

微信扫一扫

设计模式(18) -- 享元模式


文章目录

  • ​​需求​​
  • ​​传统解决方式​​
  • ​​弊端​​
  • ​​享元模式​​
  • ​​介绍​​
  • ​​类图​​
  • ​​享元模式解决网站外包问题​​
  • ​​享元模式在源码中的使用​​
  • ​​享元模式的注意事项和细节​​
  • ​​推荐一篇享元模式的好文章​​

需求

设计模式(18) -- 享元模式_外包

传统解决方式

设计模式(18) -- 享元模式_类图_02

弊端

设计模式(18) -- 享元模式_享元模式_03

享元模式

介绍

设计模式(18) -- 享元模式_设计模式_04

类图

设计模式(18) -- 享元模式_设计模式_05


对原理图的说明

即 模 式的角色及职 责

1)FlyWeight 是抽象的享元角色 , 他是产品的抽象类 , 同时定义出对象的 外部状态 和 内部状态 后面介绍 ) 的接口或实现

2)ConcreteFlyWeight 是具体的享元角色,是具体的产品类,实现抽象角色定义相关业务

3)UnSharedConcreteFlyWeight 是不可共享的角色,一般不会出现在享元工厂。

设计模式(18) -- 享元模式_设计模式_06

享元模式解决网站外包问题

设计模式(18) -- 享元模式_享元模式_07


WebSite

设计模式(18) -- 享元模式_外包_08


ConcreteWebSite

设计模式(18) -- 享元模式_设计模式_09


WebSiteFactory

设计模式(18) -- 享元模式_类图_10


Client

设计模式(18) -- 享元模式_设计模式_11


设计模式(18) -- 享元模式_设计模式_12


git地址:

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

享元模式在源码中的使用

享元模式在 JDK Interger 的应用源码分析

设计模式(18) -- 享元模式_类图_13

享元模式的注意事项和细节

设计模式(18) -- 享元模式_享元模式_14

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

​​https://www.runoob.com/design-pattern/flyweight-pattern.html​​


举报

相关推荐

0 条评论