设计模式学习—享元模式(Flyweight Design Pattern)
2017-07-18 17:35
507 查看
一、我的理解
享元模式的主要作用在于提高一些对象的利用率,对重复对象的重复获取加以限制。其实代码中很多对象并不需要重复创建,加入多个方法读取同一个对象的值时,根本没有必要大家各拷贝一份,完全可以采用享元模式,即大家共用这一个对象即可。但这样做很容易出现的问题就是线程安全。因此我的理解是享元模式适用于那种读操作较多,而基本没有什么写操作的时候。二、实现方式:哈希表的存储,每个对象有唯一标识,当获取相同标识对象时,直接返回已有对象,不用重新创建
三、Java代码
Circle类有多种颜色可供选择,但实际上同一颜色的对象是可以大家共用的,因此使用一个哈希map存储已经生成的对象,当再次获取相同颜色的对象时,直接返回已有对象即可,当没有对应颜色对象时,则创建一个新的,并存储至哈希map中以便下次调用。
相关文章推荐
- 设计模式学习笔记(十二)——Flyweight享元模式
- 设计模式学习笔记(十二)——Flyweight享元模式
- 设计模式学习笔记(二十二)—FlyWeight享元模式
- 学习php设计模式 php实现享元模式(flyweight)
- 步步为营 .NET 设计模式学习笔记 十七、Flyweight(享元模式)
- 设计模式学习笔记--Flyweight享元模式
- 学习php设计模式 php实现享元模式(flyweight)
- 设计模式学习笔记(十二)——Flyweight享元模式
- 步步为营 .NET 设计模式学习笔记 十七、Flyweight(享元模式)
- 设计模式学习笔记之Flyweight模式(享元模式)
- 设计模式学习总结-享元模式(Flyweight Method)
- 设计模式学习之享元模式(Flyweight,结构型模式)(20)
- 设计模式学习笔记(十二)——Flyweight享元模式
- 【设计模式学习笔记十二】【结构型模式】【享元模式(FlyWeight)】
- 设计模式学习笔记(十二)——Flyweight享元模式
- 步步为营 .NET 设计模式学习笔记 十七、Flyweight(享元模式)
- 设计模式深入学习--Flyweight 享元模式(结构型模式)
- 设计模式学习8 -- Flyweight(享元模式)
- FlyWeight模式——设计模式学习笔记
- 设计模式循序渐进(4)享元模式 Flyweight