设计模式(18) -- 享元模式
  N9v8mfpEsWFa 2023年11月02日 73 0


文章目录

需求

设计模式(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​



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论